Skip to contentSkip to conversation

clk: imx: fix compile testing imxrt1050

PATCH Applied Arnd Bergmann 5 participants 5 messages Dec 15, 2022 – Feb 10, 2023

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 clk: imx: fix compile testing imxrt1050

From: Arnd Bergmann <[email protected]>

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.

---
 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(-)
drivers/clk/imx/Kconfig +1 -1
index 25785ec9c276..f6b82e0b9703 100644
@@ -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
drivers/clk/imx/clk-imxrt1050.c +4 -0
index e972abd299a8..fd5c51fc92c0 100644
@@ -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 <[email protected]>");
+MODULE_AUTHOR("Giulio Benetti <[email protected]>");
drivers/clk/imx/clk-pfd.c +2 -0
index 5d2a9a3be95e..5cf0149dfa15 100644
@@ -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);
drivers/clk/imx/clk-pllv3.c +2 -0
index eea32f87c60a..11fb238ee8f0 100644
@@ -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);
Signature · 1 line
2.35.1
Acked-by on v1 1/1
#1 lore raw
Quoted 26 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

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.

---
  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(-)
drivers/clk/imx/Kconfig +0 -0
index 25785ec9c276..f6b82e0b9703 100644

drivers/clk/imx/Kconfig config CLK_IMX93 · line 118

Quoted 5 lines
drivers/clk/imx/Kconfig +1 -1
@@ -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,

Sorry about the issues introduced.

Thanks,
Jesse Taube

Quoted 49 lines
drivers/clk/imx/Kconfig +0 -0
  	select MXC_CLK
  	help
  	    Build the driver for i.MXRT1050 CCM Clock Driver
drivers/clk/imx/clk-imxrt1050.c +4 -0
index e972abd299a8..fd5c51fc92c0 100644
@@ -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 <[email protected]>");
+MODULE_AUTHOR("Giulio Benetti <[email protected]>");
drivers/clk/imx/clk-pfd.c +2 -0
index 5d2a9a3be95e..5cf0149dfa15 100644
@@ -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);
drivers/clk/imx/clk-pllv3.c +2 -0
index eea32f87c60a..11fb238ee8f0 100644
@@ -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 lore raw
Quoted 7 lines · Jesse Taube

drivers/clk/imx/Kconfig config CLK_IMX93 · line 118

Quoted 4 lines · Arnd Bergmann

config CLK_IMXRT1050
tristate "IMXRT1050 CCM Clock Driver"

drivers/clk/imx/Kconfig +1 -1
-	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.

Quoted 1 line

Thanks

Arnd

Reviewed-by on v1 1/1
#3 lore raw
In reply to Arnd Bergmann
Quoted 8 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

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!

Quoted 6 lines

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.

Fixes tag maybe?

Quoted 69 lines
---
 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(-)
drivers/clk/imx/Kconfig +1 -1
index 25785ec9c276..f6b82e0b9703 100644
@@ -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
drivers/clk/imx/clk-imxrt1050.c +4 -0
index e972abd299a8..fd5c51fc92c0 100644
@@ -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 <[email protected]>");
+MODULE_AUTHOR("Giulio Benetti <[email protected]>");
drivers/clk/imx/clk-pfd.c +2 -0
index 5d2a9a3be95e..5cf0149dfa15 100644
@@ -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);
drivers/clk/imx/clk-pllv3.c +2 -0
index eea32f87c60a..11fb238ee8f0 100644
@@ -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);
Signature · 1 line
2.35.1
maintainer Applied
#4 lore raw
In reply to Arnd Bergmann

Quoting Arnd Bergmann (2022-12-15 08:58:18)

Quoted 8 lines

From: Arnd Bergmann <[email protected]>

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!

Quoted 7 lines

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.

---

Applied to clk-next