gpio: wm8994: 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 15:05:53 +0000 (20:35 +0530)
Use devm_gpiochip_add_data() for GPIO registration and remove the
need of driver callback .remove.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: patches@opensource.wolfsonmicro.com
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
drivers/gpio/gpio-wm8994.c

index 3ae4c15974942af790ed09dcea399d770482419e..b089df99a0d0824b766b1b91690c5c140b9e58d1 100644 (file)
@@ -261,34 +261,23 @@ static int wm8994_gpio_probe(struct platform_device *pdev)
        else
                wm8994_gpio->gpio_chip.base = -1;
 
-       ret = gpiochip_add_data(&wm8994_gpio->gpio_chip, wm8994_gpio);
+       ret = devm_gpiochip_add_data(&pdev->dev, &wm8994_gpio->gpio_chip,
+                                    wm8994_gpio);
        if (ret < 0) {
                dev_err(&pdev->dev, "Could not register gpiochip, %d\n",
                        ret);
-               goto err;
+               return ret;
        }
 
        platform_set_drvdata(pdev, wm8994_gpio);
 
        return ret;
-
-err:
-       return ret;
-}
-
-static int wm8994_gpio_remove(struct platform_device *pdev)
-{
-       struct wm8994_gpio *wm8994_gpio = platform_get_drvdata(pdev);
-
-       gpiochip_remove(&wm8994_gpio->gpio_chip);
-       return 0;
 }
 
 static struct platform_driver wm8994_gpio_driver = {
        .driver.name    = "wm8994-gpio",
        .driver.owner   = THIS_MODULE,
        .probe          = wm8994_gpio_probe,
-       .remove         = wm8994_gpio_remove,
 };
 
 static int __init wm8994_gpio_init(void)