]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/gpio/gpio-generic.c
gpio: generic: fix GPIO_GENERIC_PLATFORM is set to module case
[mirror_ubuntu-bionic-kernel.git] / drivers / gpio / gpio-generic.c
index 2a4f2333a50b39674cbb848cddd03481fe79b566..6c1cb3b8c02cdcc15e70d275eeaee2b1da5a13d1 100644 (file)
@@ -549,7 +549,7 @@ int bgpio_init(struct gpio_chip *gc, struct device *dev,
 }
 EXPORT_SYMBOL_GPL(bgpio_init);
 
-#ifdef CONFIG_GPIO_GENERIC_PLATFORM
+#if IS_ENABLED(CONFIG_GPIO_GENERIC_PLATFORM)
 
 static void __iomem *bgpio_map(struct platform_device *pdev,
                               const char *name,
@@ -628,15 +628,7 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, gc);
 
-       return gpiochip_add_data(gc, NULL);
-}
-
-static int bgpio_pdev_remove(struct platform_device *pdev)
-{
-       struct gpio_chip *gc = platform_get_drvdata(pdev);
-
-       gpiochip_remove(gc);
-       return 0;
+       return devm_gpiochip_add_data(&pdev->dev, gc, NULL);
 }
 
 static const struct platform_device_id bgpio_id_table[] = {
@@ -657,7 +649,6 @@ static struct platform_driver bgpio_driver = {
        },
        .id_table = bgpio_id_table,
        .probe = bgpio_pdev_probe,
-       .remove = bgpio_pdev_remove,
 };
 
 module_platform_driver(bgpio_driver);