Message ID | 20200713144930.1034632-17-lee.jones@linaro.org |
---|---|
State | New |
Headers | show |
Series | Rid W=1 warnings in Pinctrl | expand |
Hi, On 13/07/2020 15:49:21+0100, Lee Jones wrote: > Both the caller and the supplier's source file should have access to > the include file containing the prototypes. > > Fixes the following W=1 kernel build warning(s): > > drivers/pinctrl/pinctrl-at91.c:1637:6: warning: no previous prototype for ‘at91_pinctrl_gpio_suspend’ [-Wmissing-prototypes] > 1637 | void at91_pinctrl_gpio_suspend(void) > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/pinctrl/pinctrl-at91.c:1661:6: warning: no previous prototype for ‘at91_pinctrl_gpio_resume’ [-Wmissing-prototypes] > 1661 | void at91_pinctrl_gpio_resume(void) > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > Cc: Russell King <linux@armlinux.org.uk> > Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > Cc: Ludovic Desroches <ludovic.desroches@microchip.com> > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > arch/arm/mach-at91/pm.c | 17 ++++++----------- > drivers/pinctrl/pinctrl-at91.c | 1 + > include/linux/platform_data/atmel.h | 5 +++++ > 3 files changed, 12 insertions(+), 11 deletions(-) > > diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c > index 074bde64064e4..59f2a2d6fbbb8 100644 > --- a/arch/arm/mach-at91/pm.c > +++ b/arch/arm/mach-at91/pm.c > @@ -25,17 +25,6 @@ > #include "generic.h" > #include "pm.h" > > -/* > - * FIXME: this is needed to communicate between the pinctrl driver and > - * the PM implementation in the machine. Possibly part of the PM > - * implementation should be moved down into the pinctrl driver and get > - * called as part of the generic suspend/resume path. > - */ > -#ifdef CONFIG_PINCTRL_AT91 > -extern void at91_pinctrl_gpio_suspend(void); > -extern void at91_pinctrl_gpio_resume(void); > -#endif > - > struct at91_soc_pm { > int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity); > int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity); > @@ -325,6 +314,12 @@ static void at91_pm_suspend(suspend_state_t state) > static int at91_pm_enter(suspend_state_t state) > { > #ifdef CONFIG_PINCTRL_AT91 > + /* > + * FIXME: this is needed to communicate between the pinctrl driver and > + * the PM implementation in the machine. Possibly part of the PM > + * implementation should be moved down into the pinctrl driver and get > + * called as part of the generic suspend/resume path. > + */ > at91_pinctrl_gpio_suspend(); > #endif > > diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c > index 9c52130876597..37997e5ab0538 100644 > --- a/drivers/pinctrl/pinctrl-at91.c > +++ b/drivers/pinctrl/pinctrl-at91.c > @@ -22,6 +22,7 @@ > #include <linux/pinctrl/pinmux.h> > /* Since we request GPIOs from ourself */ > #include <linux/pinctrl/consumer.h> > +#include <linux/platform_data/atmel.h> > > #include "pinctrl-at91.h" > #include "core.h" > diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h > index 99e6069c5fd89..666ef482ea8c0 100644 > --- a/include/linux/platform_data/atmel.h > +++ b/include/linux/platform_data/atmel.h The plan is to get rid of that file so you should probably find a better location. > @@ -28,4 +28,9 @@ static inline int at91_suspend_entering_slow_clock(void) > } > #endif > > +#ifdef CONFIG_PINCTRL_AT91 > +void at91_pinctrl_gpio_suspend(void); > +void at91_pinctrl_gpio_resume(void); > +#endif > + > #endif /* __ATMEL_H__ */ > -- > 2.25.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
On Mon, Jul 13, 2020 at 10:02 PM Alexandre Belloni <alexandre.belloni@bootlin.com> wrote: > On 13/07/2020 15:49:21+0100, Lee Jones wrote: > > diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h > > index 99e6069c5fd89..666ef482ea8c0 100644 > > --- a/include/linux/platform_data/atmel.h > > +++ b/include/linux/platform_data/atmel.h > > The plan is to get rid of that file so you should probably find a better > location. OK I dropped this one patch from the set for now. Yours, Linus Walleij
On Mon, 13 Jul 2020, Alexandre Belloni wrote: > Hi, > > On 13/07/2020 15:49:21+0100, Lee Jones wrote: > > Both the caller and the supplier's source file should have access to > > the include file containing the prototypes. > > > > Fixes the following W=1 kernel build warning(s): > > > > drivers/pinctrl/pinctrl-at91.c:1637:6: warning: no previous prototype for ‘at91_pinctrl_gpio_suspend’ [-Wmissing-prototypes] > > 1637 | void at91_pinctrl_gpio_suspend(void) > > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > > drivers/pinctrl/pinctrl-at91.c:1661:6: warning: no previous prototype for ‘at91_pinctrl_gpio_resume’ [-Wmissing-prototypes] > > 1661 | void at91_pinctrl_gpio_resume(void) > > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > > > Cc: Russell King <linux@armlinux.org.uk> > > Cc: Nicolas Ferre <nicolas.ferre@microchip.com> > > Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> > > Cc: Ludovic Desroches <ludovic.desroches@microchip.com> > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > --- > > arch/arm/mach-at91/pm.c | 17 ++++++----------- > > drivers/pinctrl/pinctrl-at91.c | 1 + > > include/linux/platform_data/atmel.h | 5 +++++ > > 3 files changed, 12 insertions(+), 11 deletions(-) > > > > diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c > > index 074bde64064e4..59f2a2d6fbbb8 100644 > > --- a/arch/arm/mach-at91/pm.c > > +++ b/arch/arm/mach-at91/pm.c > > @@ -25,17 +25,6 @@ > > #include "generic.h" > > #include "pm.h" > > > > -/* > > - * FIXME: this is needed to communicate between the pinctrl driver and > > - * the PM implementation in the machine. Possibly part of the PM > > - * implementation should be moved down into the pinctrl driver and get > > - * called as part of the generic suspend/resume path. > > - */ > > -#ifdef CONFIG_PINCTRL_AT91 > > -extern void at91_pinctrl_gpio_suspend(void); > > -extern void at91_pinctrl_gpio_resume(void); > > -#endif > > - > > struct at91_soc_pm { > > int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity); > > int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity); > > @@ -325,6 +314,12 @@ static void at91_pm_suspend(suspend_state_t state) > > static int at91_pm_enter(suspend_state_t state) > > { > > #ifdef CONFIG_PINCTRL_AT91 > > + /* > > + * FIXME: this is needed to communicate between the pinctrl driver and > > + * the PM implementation in the machine. Possibly part of the PM > > + * implementation should be moved down into the pinctrl driver and get > > + * called as part of the generic suspend/resume path. > > + */ > > at91_pinctrl_gpio_suspend(); > > #endif > > > > diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c > > index 9c52130876597..37997e5ab0538 100644 > > --- a/drivers/pinctrl/pinctrl-at91.c > > +++ b/drivers/pinctrl/pinctrl-at91.c > > @@ -22,6 +22,7 @@ > > #include <linux/pinctrl/pinmux.h> > > /* Since we request GPIOs from ourself */ > > #include <linux/pinctrl/consumer.h> > > +#include <linux/platform_data/atmel.h> > > > > #include "pinctrl-at91.h" > > #include "core.h" > > diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h > > index 99e6069c5fd89..666ef482ea8c0 100644 > > --- a/include/linux/platform_data/atmel.h > > +++ b/include/linux/platform_data/atmel.h > > The plan is to get rid of that file so you should probably find a better > location. Suggestions welcome. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog
On 16/07/2020 14:42:31+0100, Lee Jones wrote: > > > diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c > > > index 9c52130876597..37997e5ab0538 100644 > > > --- a/drivers/pinctrl/pinctrl-at91.c > > > +++ b/drivers/pinctrl/pinctrl-at91.c > > > @@ -22,6 +22,7 @@ > > > #include <linux/pinctrl/pinmux.h> > > > /* Since we request GPIOs from ourself */ > > > #include <linux/pinctrl/consumer.h> > > > +#include <linux/platform_data/atmel.h> > > > > > > #include "pinctrl-at91.h" > > > #include "core.h" > > > diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h > > > index 99e6069c5fd89..666ef482ea8c0 100644 > > > --- a/include/linux/platform_data/atmel.h > > > +++ b/include/linux/platform_data/atmel.h > > > > The plan is to get rid of that file so you should probably find a better > > location. > > Suggestions welcome. > Something like include/soc/at91/pm.h so we can also move at91_suspend_entering_slow_clock there and then kill platform_data/atmel.h. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 074bde64064e4..59f2a2d6fbbb8 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -25,17 +25,6 @@ #include "generic.h" #include "pm.h" -/* - * FIXME: this is needed to communicate between the pinctrl driver and - * the PM implementation in the machine. Possibly part of the PM - * implementation should be moved down into the pinctrl driver and get - * called as part of the generic suspend/resume path. - */ -#ifdef CONFIG_PINCTRL_AT91 -extern void at91_pinctrl_gpio_suspend(void); -extern void at91_pinctrl_gpio_resume(void); -#endif - struct at91_soc_pm { int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity); int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity); @@ -325,6 +314,12 @@ static void at91_pm_suspend(suspend_state_t state) static int at91_pm_enter(suspend_state_t state) { #ifdef CONFIG_PINCTRL_AT91 + /* + * FIXME: this is needed to communicate between the pinctrl driver and + * the PM implementation in the machine. Possibly part of the PM + * implementation should be moved down into the pinctrl driver and get + * called as part of the generic suspend/resume path. + */ at91_pinctrl_gpio_suspend(); #endif diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 9c52130876597..37997e5ab0538 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -22,6 +22,7 @@ #include <linux/pinctrl/pinmux.h> /* Since we request GPIOs from ourself */ #include <linux/pinctrl/consumer.h> +#include <linux/platform_data/atmel.h> #include "pinctrl-at91.h" #include "core.h" diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h index 99e6069c5fd89..666ef482ea8c0 100644 --- a/include/linux/platform_data/atmel.h +++ b/include/linux/platform_data/atmel.h @@ -28,4 +28,9 @@ static inline int at91_suspend_entering_slow_clock(void) } #endif +#ifdef CONFIG_PINCTRL_AT91 +void at91_pinctrl_gpio_suspend(void); +void at91_pinctrl_gpio_resume(void); +#endif + #endif /* __ATMEL_H__ */
Both the caller and the supplier's source file should have access to the include file containing the prototypes. Fixes the following W=1 kernel build warning(s): drivers/pinctrl/pinctrl-at91.c:1637:6: warning: no previous prototype for ‘at91_pinctrl_gpio_suspend’ [-Wmissing-prototypes] 1637 | void at91_pinctrl_gpio_suspend(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-at91.c:1661:6: warning: no previous prototype for ‘at91_pinctrl_gpio_resume’ [-Wmissing-prototypes] 1661 | void at91_pinctrl_gpio_resume(void) | ^~~~~~~~~~~~~~~~~~~~~~~~ Cc: Russell King <linux@armlinux.org.uk> Cc: Nicolas Ferre <nicolas.ferre@microchip.com> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Cc: Ludovic Desroches <ludovic.desroches@microchip.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- arch/arm/mach-at91/pm.c | 17 ++++++----------- drivers/pinctrl/pinctrl-at91.c | 1 + include/linux/platform_data/atmel.h | 5 +++++ 3 files changed, 12 insertions(+), 11 deletions(-) -- 2.25.1