Message ID | f334e8bcc22fde795de9c8067898d4c0522d44ae.1665375739.git.viresh.kumar@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 9afd20a5a1b3558950b5e12f3ed057ef93c64a05 |
Headers | show |
Series | clk: spear: Move prototype to accessible header | expand |
Hello: This patch was applied to soc/soc.git (arm/fixes) by Arnd Bergmann <arnd@arndb.de>: On Mon, 10 Oct 2022 09:52:37 +0530 you wrote: > Fixes the following W=1 kernel build warning(s): > > drivers/clk/spear/spear6xx_clock.c:116:13: warning: no previous prototype for function 'spear6xx_clk_init' [-Wmissing-prototypes] > > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > > [...] Here is the summary with links: - clk: spear: Move prototype to accessible header https://git.kernel.org/soc/soc/c/9afd20a5a1b3 You are awesome, thank you!
Quoting Viresh Kumar (2022-10-09 21:22:37) > Fixes the following W=1 kernel build warning(s): > > drivers/clk/spear/spear6xx_clock.c:116:13: warning: no previous prototype for function 'spear6xx_clk_init' [-Wmissing-prototypes] > > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- Acked-by: Stephen Boyd <sboyd@kernel.org> > diff --git a/include/linux/clk/spear.h b/include/linux/clk/spear.h > index a64d034ceddd..eaf95ca656f8 100644 > --- a/include/linux/clk/spear.h > +++ b/include/linux/clk/spear.h > @@ -8,6 +8,20 @@ > #ifndef __LINUX_CLK_SPEAR_H > #define __LINUX_CLK_SPEAR_H > > +#ifdef CONFIG_ARCH_SPEAR3XX > +void __init spear3xx_clk_init(void __iomem *misc_base, __init is meaningless in header files > + void __iomem *soc_config_base); > +#else > +static inline void __init spear3xx_clk_init(void __iomem *misc_base, > + void __iomem *soc_config_base) {} > +#endif > +
On 10-10-22, 18:01, Stephen Boyd wrote:
> __init is meaningless in header files
Technically yes.
But then I grepped include/ and it is widely used, even by core kernel
headers. Why is that ? Maybe just to keep prototype consistent ?
Also init.h says:
* If the function has a prototype somewhere, you can also add
* __init between closing brace of the prototype and semicolon:
*
* extern int initialize_foobar_device(int, int, int) __init;
Hmm, I understand that it is just saying that __init can be used after
function's name instead of just before, but isn't it also suggesting
that headers may also have it (maybe just to keep it consistent) ?
Quoting Viresh Kumar (2022-10-10 20:11:04) > On 10-10-22, 18:01, Stephen Boyd wrote: > > __init is meaningless in header files > > Technically yes. > > But then I grepped include/ and it is widely used, even by core kernel > headers. Why is that ? Maybe just to keep prototype consistent ? > > Also init.h says: > > * If the function has a prototype somewhere, you can also add > * __init between closing brace of the prototype and semicolon: > * > * extern int initialize_foobar_device(int, int, int) __init; > > Hmm, I understand that it is just saying that __init can be used after > function's name instead of just before, but isn't it also suggesting > that headers may also have it (maybe just to keep it consistent) ? > I didn't say it was forbidden ;)
diff --git a/arch/arm/mach-spear/generic.h b/arch/arm/mach-spear/generic.h index 43b7996ab754..9e36920d4cfd 100644 --- a/arch/arm/mach-spear/generic.h +++ b/arch/arm/mach-spear/generic.h @@ -25,11 +25,8 @@ extern struct pl022_ssp_controller pl022_plat_data; extern struct pl08x_platform_data pl080_plat_data; void __init spear_setup_of_timer(void); -void __init spear3xx_clk_init(void __iomem *misc_base, - void __iomem *soc_config_base); void __init spear3xx_map_io(void); void __init spear3xx_dt_init_irq(void); -void __init spear6xx_clk_init(void __iomem *misc_base); void __init spear13xx_map_io(void); void __init spear13xx_l2x0_init(void); diff --git a/arch/arm/mach-spear/spear3xx.c b/arch/arm/mach-spear/spear3xx.c index 2ba406e92c41..7ef9670d3029 100644 --- a/arch/arm/mach-spear/spear3xx.c +++ b/arch/arm/mach-spear/spear3xx.c @@ -13,6 +13,7 @@ #include <linux/amba/pl022.h> #include <linux/amba/pl080.h> #include <linux/clk.h> +#include <linux/clk/spear.h> #include <linux/io.h> #include <asm/mach/map.h> #include "pl080.h" diff --git a/arch/arm/mach-spear/spear6xx.c b/arch/arm/mach-spear/spear6xx.c index 7a5fff134872..f0a1e704cceb 100644 --- a/arch/arm/mach-spear/spear6xx.c +++ b/arch/arm/mach-spear/spear6xx.c @@ -12,6 +12,7 @@ #include <linux/amba/pl08x.h> #include <linux/clk.h> +#include <linux/clk/spear.h> #include <linux/err.h> #include <linux/of.h> #include <linux/of_address.h> diff --git a/drivers/clk/spear/spear3xx_clock.c b/drivers/clk/spear/spear3xx_clock.c index 41717ff707f6..ba8791303156 100644 --- a/drivers/clk/spear/spear3xx_clock.c +++ b/drivers/clk/spear/spear3xx_clock.c @@ -8,6 +8,7 @@ #include <linux/clk.h> #include <linux/clkdev.h> +#include <linux/clk/spear.h> #include <linux/err.h> #include <linux/io.h> #include <linux/of_platform.h> diff --git a/drivers/clk/spear/spear6xx_clock.c b/drivers/clk/spear/spear6xx_clock.c index 490701ac9e93..c192a9141b86 100644 --- a/drivers/clk/spear/spear6xx_clock.c +++ b/drivers/clk/spear/spear6xx_clock.c @@ -7,6 +7,7 @@ */ #include <linux/clkdev.h> +#include <linux/clk/spear.h> #include <linux/io.h> #include <linux/spinlock_types.h> #include "clk.h" diff --git a/include/linux/clk/spear.h b/include/linux/clk/spear.h index a64d034ceddd..eaf95ca656f8 100644 --- a/include/linux/clk/spear.h +++ b/include/linux/clk/spear.h @@ -8,6 +8,20 @@ #ifndef __LINUX_CLK_SPEAR_H #define __LINUX_CLK_SPEAR_H +#ifdef CONFIG_ARCH_SPEAR3XX +void __init spear3xx_clk_init(void __iomem *misc_base, + void __iomem *soc_config_base); +#else +static inline void __init spear3xx_clk_init(void __iomem *misc_base, + void __iomem *soc_config_base) {} +#endif + +#ifdef CONFIG_ARCH_SPEAR6XX +void __init spear6xx_clk_init(void __iomem *misc_base); +#else +static inline void __init spear6xx_clk_init(void __iomem *misc_base) {} +#endif + #ifdef CONFIG_MACH_SPEAR1310 void __init spear1310_clk_init(void __iomem *misc_base, void __iomem *ras_base); #else
Fixes the following W=1 kernel build warning(s): drivers/clk/spear/spear6xx_clock.c:116:13: warning: no previous prototype for function 'spear6xx_clk_init' [-Wmissing-prototypes] Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- arch/arm/mach-spear/generic.h | 3 --- arch/arm/mach-spear/spear3xx.c | 1 + arch/arm/mach-spear/spear6xx.c | 1 + drivers/clk/spear/spear3xx_clock.c | 1 + drivers/clk/spear/spear6xx_clock.c | 1 + include/linux/clk/spear.h | 14 ++++++++++++++ 6 files changed, 18 insertions(+), 3 deletions(-)