diff mbox series

clk: spear: Move prototype to accessible header

Message ID f334e8bcc22fde795de9c8067898d4c0522d44ae.1665375739.git.viresh.kumar@linaro.org (mailing list archive)
State New, archived
Headers show
Series clk: spear: Move prototype to accessible header | expand

Commit Message

Viresh Kumar Oct. 10, 2022, 4:22 a.m. UTC
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(-)

Comments

Stephen Boyd Oct. 11, 2022, 1:01 a.m. UTC | #1
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
> +
Viresh Kumar Oct. 11, 2022, 3:11 a.m. UTC | #2
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) ?
Stephen Boyd Oct. 11, 2022, 3:46 a.m. UTC | #3
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 mbox series

Patch

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