gpio: lp873x: Use devm_gpiochip_add_data() for gpio registration
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 10 Sep 2016 12:04:42 +0000 (12:04 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 13 Sep 2016 08:33:49 +0000 (10:33 +0200)
Use devm_gpiochip_add_data() for GPIO registration and remove the need
of driver callback .remove.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-lp873x.c

index f10d49da1554fa3796c0049cfc87665374e276f2..2386b0f410fa9594a9e32949b430ea439244b80d 100644 (file)
@@ -154,7 +154,7 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
        gpio->chip = template_chip;
        gpio->chip.parent = gpio->lp873->dev;
 
-       ret = gpiochip_add_data(&gpio->chip, gpio);
+       ret = devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
        if (ret < 0) {
                dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret);
                return ret;
@@ -163,15 +163,6 @@ static int lp873x_gpio_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int lp873x_gpio_remove(struct platform_device *pdev)
-{
-       struct lp873x_gpio *gpio = platform_get_drvdata(pdev);
-
-       gpiochip_remove(&gpio->chip);
-
-       return 0;
-}
-
 static const struct platform_device_id lp873x_gpio_id_table[] = {
        { "lp873x-gpio", },
        { /* sentinel */ }
@@ -183,7 +174,6 @@ static struct platform_driver lp873x_gpio_driver = {
                .name = "lp873x-gpio",
        },
        .probe = lp873x_gpio_probe,
-       .remove = lp873x_gpio_remove,
        .id_table = lp873x_gpio_id_table,
 };
 module_platform_driver(lp873x_gpio_driver);