Re: [PATCH 16/25] arch: arm: mach-at91: pm: Move prototypes to mutually included header

From: Lee Jones
Date: Thu Jul 16 2020 - 09:42:38 EST


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@xxxxxxxxxxxxxxx>
> > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>
> > Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> > Cc: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx>
> > Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> > ---
> > 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