gpio: ich: Use devm_gpiochip_add_data() to simplify remove path
authorAndrew Davis <afd@ti.com>
Tue, 7 Mar 2023 16:54:27 +0000 (10:54 -0600)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 9 Mar 2023 14:08:39 +0000 (16:08 +0200)
Use devm version of gpiochip add function to handle removal for us.

Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpio-ich.c

index 3b31f5e..0be9285 100644 (file)
@@ -457,7 +457,7 @@ static int ichx_gpio_probe(struct platform_device *pdev)
 
 init:
        ichx_gpiolib_setup(&ichx_priv.chip);
-       err = gpiochip_add_data(&ichx_priv.chip, NULL);
+       err = devm_gpiochip_add_data(dev, &ichx_priv.chip, NULL);
        if (err) {
                dev_err(dev, "Failed to register GPIOs\n");
                return err;
@@ -469,19 +469,11 @@ init:
        return 0;
 }
 
-static int ichx_gpio_remove(struct platform_device *pdev)
-{
-       gpiochip_remove(&ichx_priv.chip);
-
-       return 0;
-}
-
 static struct platform_driver ichx_gpio_driver = {
        .driver         = {
                .name   = DRV_NAME,
        },
        .probe          = ichx_gpio_probe,
-       .remove         = ichx_gpio_remove,
 };
 
 module_platform_driver(ichx_gpio_driver);