From cff2dedebc665dc1d3d64d850afd0124c6d35eaa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Draszik?= Date: Thu, 22 Feb 2018 11:04:28 +0000 Subject: [PATCH] ramips: gpio: fix compilation if CONFIG_GPIO_SYSFS=n MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit If CONFIG_GPIO_SYSFS=n, compilation fails with drivers/built-in.o: In function `gpio_export_with_name': include/asm-generic/gpio.h:128: undefined reference to `__gpiod_export' This is because the stub in that case has the wrong name, _gpiod_export() - note the missing underscore (_) at the start. Fix the stub, and add the correct prototype for the real implementation. Signed-off-by: André Draszik --- .../0024-GPIO-add-named-gpio-exports.patch | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/target/linux/ramips/patches-4.9/0024-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-4.9/0024-GPIO-add-named-gpio-exports.patch index 3434864d263..136c1027580 100644 --- a/target/linux/ramips/patches-4.9/0024-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ramips/patches-4.9/0024-GPIO-add-named-gpio-exports.patch @@ -127,11 +127,10 @@ Signed-off-by: John Crispin static int match_export(struct device *dev, const void *desc) --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h -@@ -126,6 +126,12 @@ static inline int gpio_export(unsigned g +@@ -126,6 +126,11 @@ static inline int gpio_export(unsigned g return gpiod_export(gpio_to_desc(gpio), direction_may_change); } -+int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name); +static inline int gpio_export_with_name(unsigned gpio, bool direction_may_change, const char *name) +{ + return __gpiod_export(gpio_to_desc(gpio), direction_may_change, name); @@ -142,21 +141,13 @@ Signed-off-by: John Crispin { --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h -@@ -427,6 +427,7 @@ static inline struct gpio_desc *devm_get - - #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) - -+int _gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name); - int gpiod_export(struct gpio_desc *desc, bool direction_may_change); - int gpiod_export_link(struct device *dev, const char *name, - struct gpio_desc *desc); @@ -434,6 +435,13 @@ void gpiod_unexport(struct gpio_desc *de #else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ +static inline int _gpiod_export(struct gpio_desc *desc, -+ bool direction_may_change, -+ const char *name) ++ bool direction_may_change, ++ const char *name) +{ + return -ENOSYS; +} -- 2.30.2