2020-11-10 19:39:41

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH] clk: samsung: allow building the clkout driver as module

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 <[email protected]>
---
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
--
2.25.1


2020-11-11 10:14:02

by Chanwoo Choi

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

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 <[email protected]>
> ---
> 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 <[email protected]>

--
Best Regards,
Chanwoo Choi
Samsung Electronics

2020-11-12 14:38:58

by Sylwester Nawrocki

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

On 11/10/20 20:37, 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 <[email protected]>

This needs to go through your tree due to dependencies on your previous
patches, so

Acked-by: Sylwester Nawrocki <[email protected]>

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

Perhaps change it EXYNOS_CLKOUT for a better match with the SoC documentation?

> + 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.

> 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

--
Regards,
Sylwester

2020-11-12 16:20:36

by Krzysztof Kozlowski

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

On Thu, Nov 12, 2020 at 03:36:35PM +0100, Sylwester Nawrocki wrote:
> On 11/10/20 20:37, 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 <[email protected]>
>
> This needs to go through your tree due to dependencies on your previous
> patches, so
>
> Acked-by: Sylwester Nawrocki <[email protected]>

Yes, thanks.

>
> > ---
> > 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
>
> Perhaps change it EXYNOS_CLKOUT for a better match with the SoC documentation?

Sure, I applied it with name fixup.

Best regards,
Krzysztof