]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
gpio: cs5535: 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:28 +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>
drivers/gpio/gpio-cs5535.c

index eccb712e09fb1109d27bf34f2861176451c332a5..90278b19aa0e27574528d055e773b716ad5dd134 100644 (file)
@@ -320,13 +320,13 @@ static int cs5535_gpio_probe(struct platform_device *pdev)
        res = platform_get_resource(pdev, IORESOURCE_IO, 0);
        if (!res) {
                dev_err(&pdev->dev, "can't fetch device resource info\n");
-               goto done;
+               return err;
        }
 
        if (!devm_request_region(&pdev->dev, res->start, resource_size(res),
                                 pdev->name)) {
                dev_err(&pdev->dev, "can't request region\n");
-               goto done;
+               return err;
        }
 
        /* set up the driver-specific struct */
@@ -348,19 +348,10 @@ static int cs5535_gpio_probe(struct platform_device *pdev)
                                mask_orig, mask);
 
        /* finally, register with the generic GPIO API */
-       err = gpiochip_add_data(&cs5535_gpio_chip.chip, &cs5535_gpio_chip);
+       err = devm_gpiochip_add_data(&pdev->dev, &cs5535_gpio_chip.chip,
+                                    &cs5535_gpio_chip);
        if (err)
-               goto done;
-
-       return 0;
-
-done:
-       return err;
-}
-
-static int cs5535_gpio_remove(struct platform_device *pdev)
-{
-       gpiochip_remove(&cs5535_gpio_chip.chip);
+               return err;
 
        return 0;
 }
@@ -370,7 +361,6 @@ static struct platform_driver cs5535_gpio_driver = {
                .name = DRV_NAME,
        },
        .probe = cs5535_gpio_probe,
-       .remove = cs5535_gpio_remove,
 };
 
 module_platform_driver(cs5535_gpio_driver);