diff mbox series

clk: samsung: allow building the clkout driver as module

Message ID 20201110193749.261367-1-krzk@kernel.org (mailing list archive)
State New, archived
Headers show
Series clk: samsung: allow building the clkout driver as module | expand

Commit Message

Krzysztof Kozlowski Nov. 10, 2020, 7:37 p.m. UTC
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@kernel.org>
---
 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(-)

Comments

Chanwoo Choi Nov. 11, 2020, 10:25 a.m. UTC | #1
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@kernel.org>
> ---
>  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@samsung.com>
Sylwester Nawrocki Nov. 12, 2020, 2:36 p.m. UTC | #2
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 <krzk@kernel.org>

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

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

> ---
>   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
Krzysztof Kozlowski Nov. 12, 2020, 4:18 p.m. UTC | #3
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 <krzk@kernel.org>
> 
> This needs to go through your tree due to dependencies on your previous
> patches, so
> 
> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

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
diff mbox series

Patch

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