Re: [PATCH] clk: samsung: allow building the clkout driver as module

From: Chanwoo Choi
Date: Wed Nov 11 2020 - 05:11:54 EST


Hi Krzysztof,

On 11/11/20 4:37 AM, Krzysztof Kozlowski wrote:
> The Exynos clock output driver can be built as module (it does not have
> to be part of core init process) for better customization. Adding a
> KConfig entry allows also compile testing for build coverage.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> ---
> drivers/clk/samsung/Kconfig | 10 ++++++++++
> drivers/clk/samsung/Makefile | 2 +-
> drivers/clk/samsung/clk-exynos-clkout.c | 1 +
> 3 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
> index 57d4b3f20417..b6b2cb209543 100644
> --- a/drivers/clk/samsung/Kconfig
> +++ b/drivers/clk/samsung/Kconfig
> @@ -19,6 +19,16 @@ config EXYNOS_AUDSS_CLK_CON
> on some Exynos SoC variants. Choose M or Y here if you want to
> use audio devices such as I2S, PCM, etc.
>
> +config EXYNOS_CLK_OUT
> + tristate "Samsung Exynos clock output driver"
> + depends on COMMON_CLK_SAMSUNG
> + default y if ARCH_EXYNOS
> + help
> + Support for the clock output (XCLKOUT) driver present on some of
> + Exynos SoC variants. Usually the XCLKOUT is used to monitor the
> + status of the certains clocks from SoC, but it could also be tied to
> + other devices as an input clock.
> +
> # For S3C24XX platforms, select following symbols:
> config S3C2410_COMMON_CLK
> bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
> diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
> index 1a4e6b787978..4adbf972e9f6 100644
> --- a/drivers/clk/samsung/Makefile
> +++ b/drivers/clk/samsung/Makefile
> @@ -15,7 +15,7 @@ obj-$(CONFIG_SOC_EXYNOS5420) += clk-exynos5420.o
> obj-$(CONFIG_SOC_EXYNOS5420) += clk-exynos5-subcmu.o
> obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos5433.o
> obj-$(CONFIG_EXYNOS_AUDSS_CLK_CON) += clk-exynos-audss.o
> -obj-$(CONFIG_ARCH_EXYNOS) += clk-exynos-clkout.o
> +obj-$(CONFIG_EXYNOS_CLK_OUT) += clk-exynos-clkout.o
> obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos7.o
> obj-$(CONFIG_S3C2410_COMMON_CLK)+= clk-s3c2410.o
> obj-$(CONFIG_S3C2410_COMMON_DCLK)+= clk-s3c2410-dclk.o
> diff --git a/drivers/clk/samsung/clk-exynos-clkout.c b/drivers/clk/samsung/clk-exynos-clkout.c
> index f5f8a956b316..9ec2f40cc400 100644
> --- a/drivers/clk/samsung/clk-exynos-clkout.c
> +++ b/drivers/clk/samsung/clk-exynos-clkout.c
> @@ -72,6 +72,7 @@ static const struct of_device_id exynos_clkout_ids[] = {
> .data = &exynos_clkout_exynos5,
> }, { }
> };
> +MODULE_DEVICE_TABLE(of, exynos_clkout_ids);
>
> /*
> * Device will be instantiated as child of PMU device without its own
>

Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>

--
Best Regards,
Chanwoo Choi
Samsung Electronics