2021-03-04 23:19:33

by Lee Jones

[permalink] [raw]
Subject: [RESEND 1/1] arch: arm: mach-at91: pm: Move prototypes to mutually included header

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 <[email protected]>
Cc: Nicolas Ferre <[email protected]>
Cc: Alexandre Belloni <[email protected]>
Cc: Ludovic Desroches <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
---
arch/arm/mach-at91/pm.c | 19 ++++++++-----------
drivers/pinctrl/pinctrl-at91.c | 2 ++
include/soc/at91/pm.h | 16 ++++++++++++++++
3 files changed, 26 insertions(+), 11 deletions(-)
create mode 100644 include/soc/at91/pm.h

diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 120f9aa6fff32..90dcdfe3b3d0d 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -17,6 +17,8 @@
#include <linux/clk/at91_pmc.h>
#include <linux/platform_data/atmel.h>

+#include <soc/at91/pm.h>
+
#include <asm/cacheflush.h>
#include <asm/fncpy.h>
#include <asm/system_misc.h>
@@ -25,17 +27,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);
@@ -326,6 +317,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 8003d1bd16953..fc61aaec34cc9 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -23,6 +23,8 @@
/* Since we request GPIOs from ourself */
#include <linux/pinctrl/consumer.h>

+#include <soc/at91/pm.h>
+
#include "pinctrl-at91.h"
#include "core.h"

diff --git a/include/soc/at91/pm.h b/include/soc/at91/pm.h
new file mode 100644
index 0000000000000..7a41e53a3ffa3
--- /dev/null
+++ b/include/soc/at91/pm.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Atmel Power Management
+ *
+ * Copyright (C) 2020 Atmel
+ *
+ * Author: Lee Jones <[email protected]>
+ */
+
+#ifndef __SOC_ATMEL_PM_H
+#define __SOC_ATMEL_PM_H
+
+void at91_pinctrl_gpio_suspend(void);
+void at91_pinctrl_gpio_resume(void);
+
+#endif /* __SOC_ATMEL_PM_H */
--
2.27.0


2021-03-26 17:22:31

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [RESEND 1/1] arch: arm: mach-at91: pm: Move prototypes to mutually included header

On Wed, 3 Mar 2021 12:41:49 +0000, 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)
> | ^~~~~~~~~~~~~~~~~~~~~~~~

Applied, thanks!

[1/1] arch: arm: mach-at91: pm: Move prototypes to mutually included header
commit: 10e9119e865047f4e22cbd69de991d6bc26c4faf

Best regards,
--
Alexandre Belloni <[email protected]>

2021-03-26 17:36:42

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [RESEND 1/1] arch: arm: mach-at91: pm: Move prototypes to mutually included header

On 26/03/2021 18:18:04+0100, Alexandre Belloni wrote:
> On Wed, 3 Mar 2021 12:41:49 +0000, 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)
> > | ^~~~~~~~~~~~~~~~~~~~~~~~
>
> Applied, thanks!
>
> [1/1] arch: arm: mach-at91: pm: Move prototypes to mutually included header
> commit: 10e9119e865047f4e22cbd69de991d6bc26c4faf
>

Actually:
[1/1] ARM: at91: pm: Move prototypes to mutually included header
commit: 41dbf4a146a06443d1cbf39e238f02fa1ca9d626


--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com