[PATCH] drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header

Max Kellermann posted 1 patch 1 year, 11 months ago
drivers/gpio/gpio-nomadik.c       |  8 --------
include/linux/gpio/gpio-nomadik.h | 15 +++++++++++++++
2 files changed, 15 insertions(+), 8 deletions(-)
[PATCH] drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header
Posted by Max Kellermann 1 year, 11 months ago
When `CONFIG_DEBUG_FS` is disabled, nmk_gpio_dbg_show_one() is an
empty dummy function; this however triggers a `-Wmissing-prototypes`
warning and later a linker error because the function is also used by
drivers/pinctrl/nomadik/pinctrl-nomadik.c, therefore it needs to be
non-static.

To allow both sources to access this dummy function, this patch moves
it to the header, adding the `#ifdef CONFIG_DEBUG_FS` there as well.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
---
 drivers/gpio/gpio-nomadik.c       |  8 --------
 include/linux/gpio/gpio-nomadik.h | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index 463a765620dc..9637ede8ab43 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -486,14 +486,6 @@ static void nmk_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
 
 #else
 
-static inline void nmk_gpio_dbg_show_one(struct seq_file *s,
-					 struct pinctrl_dev *pctldev,
-					 struct gpio_chip *chip,
-					 unsigned int offset,
-					 unsigned int gpio)
-{
-}
-
 #define nmk_gpio_dbg_show	NULL
 
 #endif
diff --git a/include/linux/gpio/gpio-nomadik.h b/include/linux/gpio/gpio-nomadik.h
index 4a95ea7935fb..b5a84864650d 100644
--- a/include/linux/gpio/gpio-nomadik.h
+++ b/include/linux/gpio/gpio-nomadik.h
@@ -253,6 +253,8 @@ nmk_pinctrl_db8540_init(const struct nmk_pinctrl_soc_data **soc)
 
 struct platform_device;
 
+#ifdef CONFIG_DEBUG_FS
+
 /*
  * Symbols declared in gpio-nomadik used by pinctrl-nomadik. If pinctrl-nomadik
  * is enabled, then gpio-nomadik is enabled as well; the reverse if not always
@@ -261,6 +263,19 @@ struct platform_device;
 void nmk_gpio_dbg_show_one(struct seq_file *s, struct pinctrl_dev *pctldev,
 			   struct gpio_chip *chip, unsigned int offset,
 			   unsigned int gpio);
+
+#else
+
+static inline void nmk_gpio_dbg_show_one(struct seq_file *s,
+					 struct pinctrl_dev *pctldev,
+					 struct gpio_chip *chip,
+					 unsigned int offset,
+					 unsigned int gpio)
+{
+}
+
+#endif
+
 void __nmk_gpio_make_output(struct nmk_gpio_chip *nmk_chip,
 			    unsigned int offset, int val);
 void __nmk_gpio_set_slpm(struct nmk_gpio_chip *nmk_chip, unsigned int offset,
-- 
2.39.2
Re: [PATCH] drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header
Posted by Linus Walleij 1 year, 11 months ago
On Mon, Mar 11, 2024 at 2:32 PM Max Kellermann <max.kellermann@ionos.com> wrote:

> When `CONFIG_DEBUG_FS` is disabled, nmk_gpio_dbg_show_one() is an
> empty dummy function; this however triggers a `-Wmissing-prototypes`
> warning and later a linker error because the function is also used by
> drivers/pinctrl/nomadik/pinctrl-nomadik.c, therefore it needs to be
> non-static.
>
> To allow both sources to access this dummy function, this patch moves
> it to the header, adding the `#ifdef CONFIG_DEBUG_FS` there as well.
>
> Signed-off-by: Max Kellermann <max.kellermann@ionos.com>

I made a patch myself yesterday and applied, but I like your patch more
so I took out my patch and put in yours instead.

Thanks!

Yours,
Linus Walleij