diff mbox series

clk: imx: fix compile testing imxrt1050

Message ID 20221215165836.2136448-1-arnd@kernel.org (mailing list archive)
State Accepted, archived
Headers show
Series clk: imx: fix compile testing imxrt1050 | expand

Commit Message

Arnd Bergmann Dec. 15, 2022, 4:58 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

Randconfig testing revealed multiple issues with this driver:

ERROR: modpost: missing MODULE_LICENSE() in drivers/clk/imx/clk-imxrt1050.o
ERROR: modpost: "imx_clk_hw_pllv3" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
ERROR: modpost: "imx_clk_hw_pfd" [drivers/clk/imx/clk-imxrt1050.ko] undefined!

Export the necessary symbols from the core clk driver and add the
license and author tags. To find this type of problem more easily
in the future, also enable building on other platforms, as we do for
the other i.MX clk drivers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/clk/imx/Kconfig         | 2 +-
 drivers/clk/imx/clk-imxrt1050.c | 4 ++++
 drivers/clk/imx/clk-pfd.c       | 2 ++
 drivers/clk/imx/clk-pllv3.c     | 2 ++
 4 files changed, 9 insertions(+), 1 deletion(-)

Comments

Jesse Taube Dec. 15, 2022, 8:15 p.m. UTC | #1
On 12/15/22 11:58, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Randconfig testing revealed multiple issues with this driver:
> 
> ERROR: modpost: missing MODULE_LICENSE() in drivers/clk/imx/clk-imxrt1050.o
> ERROR: modpost: "imx_clk_hw_pllv3" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> ERROR: modpost: "imx_clk_hw_pfd" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> 
> Export the necessary symbols from the core clk driver and add the
> license and author tags. To find this type of problem more easily
> in the future, also enable building on other platforms, as we do for
> the other i.MX clk drivers.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/clk/imx/Kconfig         | 2 +-
>   drivers/clk/imx/clk-imxrt1050.c | 4 ++++
>   drivers/clk/imx/clk-pfd.c       | 2 ++
>   drivers/clk/imx/clk-pllv3.c     | 2 ++
>   4 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig
> index 25785ec9c276..f6b82e0b9703 100644
> --- a/drivers/clk/imx/Kconfig
> +++ b/drivers/clk/imx/Kconfig
> @@ -115,7 +115,7 @@ config CLK_IMX93
>   
>   config CLK_IMXRT1050
>   	tristate "IMXRT1050 CCM Clock Driver"
> -	depends on SOC_IMXRT
> +	depends on SOC_IMXRT || COMPILE_TEST
Not sure what COMPILE_TEST is but,
Acked-by: Jesse Taube <Mr.Bossman075@gmail.com>

Sorry about the issues introduced.

Thanks,
Jesse Taube
>   	select MXC_CLK
>   	help
>   	    Build the driver for i.MXRT1050 CCM Clock Driver
> diff --git a/drivers/clk/imx/clk-imxrt1050.c b/drivers/clk/imx/clk-imxrt1050.c
> index e972abd299a8..fd5c51fc92c0 100644
> --- a/drivers/clk/imx/clk-imxrt1050.c
> +++ b/drivers/clk/imx/clk-imxrt1050.c
> @@ -167,3 +167,7 @@ static struct platform_driver imxrt1050_clk_driver = {
>   	},
>   };
>   module_platform_driver(imxrt1050_clk_driver);
> +
> +MODULE_LICENSE("Dual BSD/GPL");
> +MODULE_AUTHOR("Jesse Taube <Mr.Bossman075@gmail.com>");
> +MODULE_AUTHOR("Giulio Benetti <giulio.benetti@benettiengineering.com>");
> diff --git a/drivers/clk/imx/clk-pfd.c b/drivers/clk/imx/clk-pfd.c
> index 5d2a9a3be95e..5cf0149dfa15 100644
> --- a/drivers/clk/imx/clk-pfd.c
> +++ b/drivers/clk/imx/clk-pfd.c
> @@ -5,6 +5,7 @@
>    */
>   
>   #include <linux/clk-provider.h>
> +#include <linux/export.h>
>   #include <linux/io.h>
>   #include <linux/slab.h>
>   #include <linux/err.h>
> @@ -153,3 +154,4 @@ struct clk_hw *imx_clk_hw_pfd(const char *name, const char *parent_name,
>   
>   	return hw;
>   }
> +EXPORT_SYMBOL_GPL(imx_clk_hw_pfd);
> diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c
> index eea32f87c60a..11fb238ee8f0 100644
> --- a/drivers/clk/imx/clk-pllv3.c
> +++ b/drivers/clk/imx/clk-pllv3.c
> @@ -6,6 +6,7 @@
>   
>   #include <linux/clk-provider.h>
>   #include <linux/delay.h>
> +#include <linux/export.h>
>   #include <linux/io.h>
>   #include <linux/iopoll.h>
>   #include <linux/slab.h>
> @@ -486,3 +487,4 @@ struct clk_hw *imx_clk_hw_pllv3(enum imx_pllv3_type type, const char *name,
>   
>   	return hw;
>   }
> +EXPORT_SYMBOL_GPL(imx_clk_hw_pllv3);
Arnd Bergmann Dec. 16, 2022, 8:24 a.m. UTC | #2
On Thu, Dec 15, 2022, at 21:15, Jesse Taube wrote:
> On 12/15/22 11:58, Arnd Bergmann wrote:

>>   config CLK_IMXRT1050
>>   	tristate "IMXRT1050 CCM Clock Driver"
>> -	depends on SOC_IMXRT
>> +	depends on SOC_IMXRT || COMPILE_TEST
> Not sure what COMPILE_TEST is but,

The idea is that you can enable the driver to be built in
allmodconfig or randconfig regardless of the architecture,
to see any compiler-time warnings creeping up without
having to build an imxrt specific kernel.

> Acked-by: Jesse Taube <Mr.Bossman075@gmail.com>

Thanks

   Arnd
Abel Vesa Jan. 9, 2023, 10:50 a.m. UTC | #3
On 22-12-15 17:58:18, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Randconfig testing revealed multiple issues with this driver:
> 
> ERROR: modpost: missing MODULE_LICENSE() in drivers/clk/imx/clk-imxrt1050.o
> ERROR: modpost: "imx_clk_hw_pllv3" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> ERROR: modpost: "imx_clk_hw_pfd" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> 
> Export the necessary symbols from the core clk driver and add the
> license and author tags. To find this type of problem more easily
> in the future, also enable building on other platforms, as we do for
> the other i.MX clk drivers.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Fixes tag maybe?

Reviewed-by: Abel Vesa <abel.vesa@linaro.org>

> ---
>  drivers/clk/imx/Kconfig         | 2 +-
>  drivers/clk/imx/clk-imxrt1050.c | 4 ++++
>  drivers/clk/imx/clk-pfd.c       | 2 ++
>  drivers/clk/imx/clk-pllv3.c     | 2 ++
>  4 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig
> index 25785ec9c276..f6b82e0b9703 100644
> --- a/drivers/clk/imx/Kconfig
> +++ b/drivers/clk/imx/Kconfig
> @@ -115,7 +115,7 @@ config CLK_IMX93
>  
>  config CLK_IMXRT1050
>  	tristate "IMXRT1050 CCM Clock Driver"
> -	depends on SOC_IMXRT
> +	depends on SOC_IMXRT || COMPILE_TEST
>  	select MXC_CLK
>  	help
>  	    Build the driver for i.MXRT1050 CCM Clock Driver
> diff --git a/drivers/clk/imx/clk-imxrt1050.c b/drivers/clk/imx/clk-imxrt1050.c
> index e972abd299a8..fd5c51fc92c0 100644
> --- a/drivers/clk/imx/clk-imxrt1050.c
> +++ b/drivers/clk/imx/clk-imxrt1050.c
> @@ -167,3 +167,7 @@ static struct platform_driver imxrt1050_clk_driver = {
>  	},
>  };
>  module_platform_driver(imxrt1050_clk_driver);
> +
> +MODULE_LICENSE("Dual BSD/GPL");
> +MODULE_AUTHOR("Jesse Taube <Mr.Bossman075@gmail.com>");
> +MODULE_AUTHOR("Giulio Benetti <giulio.benetti@benettiengineering.com>");
> diff --git a/drivers/clk/imx/clk-pfd.c b/drivers/clk/imx/clk-pfd.c
> index 5d2a9a3be95e..5cf0149dfa15 100644
> --- a/drivers/clk/imx/clk-pfd.c
> +++ b/drivers/clk/imx/clk-pfd.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <linux/clk-provider.h>
> +#include <linux/export.h>
>  #include <linux/io.h>
>  #include <linux/slab.h>
>  #include <linux/err.h>
> @@ -153,3 +154,4 @@ struct clk_hw *imx_clk_hw_pfd(const char *name, const char *parent_name,
>  
>  	return hw;
>  }
> +EXPORT_SYMBOL_GPL(imx_clk_hw_pfd);
> diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c
> index eea32f87c60a..11fb238ee8f0 100644
> --- a/drivers/clk/imx/clk-pllv3.c
> +++ b/drivers/clk/imx/clk-pllv3.c
> @@ -6,6 +6,7 @@
>  
>  #include <linux/clk-provider.h>
>  #include <linux/delay.h>
> +#include <linux/export.h>
>  #include <linux/io.h>
>  #include <linux/iopoll.h>
>  #include <linux/slab.h>
> @@ -486,3 +487,4 @@ struct clk_hw *imx_clk_hw_pllv3(enum imx_pllv3_type type, const char *name,
>  
>  	return hw;
>  }
> +EXPORT_SYMBOL_GPL(imx_clk_hw_pllv3);
> -- 
> 2.35.1
>
Stephen Boyd Feb. 10, 2023, 11:26 p.m. UTC | #4
Quoting Arnd Bergmann (2022-12-15 08:58:18)
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Randconfig testing revealed multiple issues with this driver:
> 
> ERROR: modpost: missing MODULE_LICENSE() in drivers/clk/imx/clk-imxrt1050.o
> ERROR: modpost: "imx_clk_hw_pllv3" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> ERROR: modpost: "imx_clk_hw_pfd" [drivers/clk/imx/clk-imxrt1050.ko] undefined!
> 
> Export the necessary symbols from the core clk driver and add the
> license and author tags. To find this type of problem more easily
> in the future, also enable building on other platforms, as we do for
> the other i.MX clk drivers.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig
index 25785ec9c276..f6b82e0b9703 100644
--- a/drivers/clk/imx/Kconfig
+++ b/drivers/clk/imx/Kconfig
@@ -115,7 +115,7 @@  config CLK_IMX93
 
 config CLK_IMXRT1050
 	tristate "IMXRT1050 CCM Clock Driver"
-	depends on SOC_IMXRT
+	depends on SOC_IMXRT || COMPILE_TEST
 	select MXC_CLK
 	help
 	    Build the driver for i.MXRT1050 CCM Clock Driver
diff --git a/drivers/clk/imx/clk-imxrt1050.c b/drivers/clk/imx/clk-imxrt1050.c
index e972abd299a8..fd5c51fc92c0 100644
--- a/drivers/clk/imx/clk-imxrt1050.c
+++ b/drivers/clk/imx/clk-imxrt1050.c
@@ -167,3 +167,7 @@  static struct platform_driver imxrt1050_clk_driver = {
 	},
 };
 module_platform_driver(imxrt1050_clk_driver);
+
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("Jesse Taube <Mr.Bossman075@gmail.com>");
+MODULE_AUTHOR("Giulio Benetti <giulio.benetti@benettiengineering.com>");
diff --git a/drivers/clk/imx/clk-pfd.c b/drivers/clk/imx/clk-pfd.c
index 5d2a9a3be95e..5cf0149dfa15 100644
--- a/drivers/clk/imx/clk-pfd.c
+++ b/drivers/clk/imx/clk-pfd.c
@@ -5,6 +5,7 @@ 
  */
 
 #include <linux/clk-provider.h>
+#include <linux/export.h>
 #include <linux/io.h>
 #include <linux/slab.h>
 #include <linux/err.h>
@@ -153,3 +154,4 @@  struct clk_hw *imx_clk_hw_pfd(const char *name, const char *parent_name,
 
 	return hw;
 }
+EXPORT_SYMBOL_GPL(imx_clk_hw_pfd);
diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c
index eea32f87c60a..11fb238ee8f0 100644
--- a/drivers/clk/imx/clk-pllv3.c
+++ b/drivers/clk/imx/clk-pllv3.c
@@ -6,6 +6,7 @@ 
 
 #include <linux/clk-provider.h>
 #include <linux/delay.h>
+#include <linux/export.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
 #include <linux/slab.h>
@@ -486,3 +487,4 @@  struct clk_hw *imx_clk_hw_pllv3(enum imx_pllv3_type type, const char *name,
 
 	return hw;
 }
+EXPORT_SYMBOL_GPL(imx_clk_hw_pllv3);