gpio: adnp: Use devm_gpiochip_add_data() for gpio registration
authorLaxman Dewangan <ldewangan@nvidia.com>
Mon, 22 Feb 2016 12:13:28 +0000 (17:43 +0530)
committerLaxman Dewangan <ldewangan@nvidia.com>
Tue, 23 Feb 2016 14:49:46 +0000 (20:19 +0530)
Use devm_gpiochip_add_data() for GPIO registration and remove the
call for gpiochip_remove() from error path.

Also remove the need of driver callback .remove.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
drivers/gpio/gpio-adnp.c

index fb5b47b69f141035f50ef8f64631f67b432bb0e8..8ff7b0d3eac6f1c50dbe2afbbf65773df22941a2 100644 (file)
@@ -265,7 +265,7 @@ static int adnp_gpio_setup(struct adnp *adnp, unsigned int num_gpios)
        chip->of_node = chip->parent->of_node;
        chip->owner = THIS_MODULE;
 
-       err = gpiochip_add_data(chip, adnp);
+       err = devm_gpiochip_add_data(&adnp->client->dev, chip, adnp);
        if (err)
                return err;
 
@@ -520,14 +520,6 @@ static int adnp_i2c_probe(struct i2c_client *client,
        return 0;
 }
 
-static int adnp_i2c_remove(struct i2c_client *client)
-{
-       struct adnp *adnp = i2c_get_clientdata(client);
-
-       gpiochip_remove(&adnp->gpio);
-       return 0;
-}
-
 static const struct i2c_device_id adnp_i2c_id[] = {
        { "gpio-adnp" },
        { },
@@ -546,7 +538,6 @@ static struct i2c_driver adnp_i2c_driver = {
                .of_match_table = adnp_of_match,
        },
        .probe = adnp_i2c_probe,
-       .remove = adnp_i2c_remove,
        .id_table = adnp_i2c_id,
 };
 module_i2c_driver(adnp_i2c_driver);
This page took 0.058841 seconds and 5 git commands to generate.