Re: [PATCH] clk: imx: fix compile testing imxrt1050

Jesse Taube
2022-12-15T20:15:34Z

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);