From bc67dc7d0388dcef717330d13eeb336bbf4ecee2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20van=20Dorst?= Date: Thu, 19 Jul 2018 12:55:55 +0200 Subject: [PATCH] treewide: convert gpio-export to platform driver MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Without this patch you will get an error "gpio-export probe deferral not supported" when you try to export i2c expander gpio pins. gpio-export is probed long before i2c-bus and i2c expander are created and it doesn't retry it so none pins are exported. Signed-off-by: René van Dorst apply the change to all instances of the gpio exports patch Signed-off-by: Mathias Kresin (backported from 0ae9396556584db2dac73364af44758a5ccf4873) --- .../patches-4.14/0066-GPIO-add-named-gpio-exports.patch | 9 +++------ .../patches-4.14/0030-GPIO-add-named-gpio-exports.patch | 9 +++------ .../patches-4.14/0024-GPIO-add-named-gpio-exports.patch | 9 +++------ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/target/linux/ipq806x/patches-4.14/0066-GPIO-add-named-gpio-exports.patch b/target/linux/ipq806x/patches-4.14/0066-GPIO-add-named-gpio-exports.patch index daeb8c0acd..3f7de4716a 100644 --- a/target/linux/ipq806x/patches-4.14/0066-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ipq806x/patches-4.14/0066-GPIO-add-named-gpio-exports.patch @@ -32,7 +32,7 @@ Signed-off-by: John Crispin + { /* sentinel */ } +}; + -+static int __init of_gpio_export_probe(struct platform_device *pdev) ++static int of_gpio_export_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct device_node *cnp; @@ -85,13 +85,10 @@ Signed-off-by: John Crispin + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(gpio_export_ids), + }, ++ .probe = of_gpio_export_probe, +}; + -+static int __init of_gpio_export_init(void) -+{ -+ return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe); -+} -+device_initcall(of_gpio_export_init); ++module_platform_driver(gpio_export_driver); --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c @@ -553,7 +553,7 @@ static struct class gpio_class = { diff --git a/target/linux/lantiq/patches-4.14/0030-GPIO-add-named-gpio-exports.patch b/target/linux/lantiq/patches-4.14/0030-GPIO-add-named-gpio-exports.patch index 784786b7c8..0ac8e50240 100644 --- a/target/linux/lantiq/patches-4.14/0030-GPIO-add-named-gpio-exports.patch +++ b/target/linux/lantiq/patches-4.14/0030-GPIO-add-named-gpio-exports.patch @@ -34,7 +34,7 @@ Signed-off-by: John Crispin + { /* sentinel */ } +}; + -+static int __init of_gpio_export_probe(struct platform_device *pdev) ++static int of_gpio_export_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct device_node *cnp; @@ -87,13 +87,10 @@ Signed-off-by: John Crispin + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(gpio_export_ids), + }, ++ .probe = of_gpio_export_probe, +}; + -+static int __init of_gpio_export_init(void) -+{ -+ return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe); -+} -+device_initcall(of_gpio_export_init); ++module_platform_driver(gpio_export_driver); + +#endif --- a/include/asm-generic/gpio.h diff --git a/target/linux/ramips/patches-4.14/0024-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-4.14/0024-GPIO-add-named-gpio-exports.patch index da8ac96eb0..9b5562481a 100644 --- a/target/linux/ramips/patches-4.14/0024-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ramips/patches-4.14/0024-GPIO-add-named-gpio-exports.patch @@ -32,7 +32,7 @@ Signed-off-by: John Crispin + { /* sentinel */ } +}; + -+static int __init of_gpio_export_probe(struct platform_device *pdev) ++static int of_gpio_export_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct device_node *cnp; @@ -85,13 +85,10 @@ Signed-off-by: John Crispin + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(gpio_export_ids), + }, ++ .probe = of_gpio_export_probe, +}; + -+static int __init of_gpio_export_init(void) -+{ -+ return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe); -+} -+device_initcall(of_gpio_export_init); ++module_platform_driver(gpio_export_driver); --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c @@ -553,7 +553,7 @@ static struct class gpio_class = { -- 2.30.2