2024-03-11 13:32:50

by Max Kellermann

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

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 <[email protected]>
---
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



2024-03-12 11:54:53

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header

On Mon, Mar 11, 2024 at 2:32 PM Max Kellermann <[email protected]> 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 <[email protected]>

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