Subject: [PATCH 1/2] clk: samsung: Don't build ARMv8 clock drivers on ARMv7

From: [email-masked] (pankaj.dubey)
Date: Tue, 17 Nov 2015 10:01:46 +0530

On Monday 16 November 2015 07:06 AM, Krzysztof Kozlowski wrote:
> Currently the Exynos5433 (ARMv8 SoC) clock driver depends on ARCH_EXYNOS
> so it is built also on ARMv7. This does not bring any kind of benefit.
> There won't be a single kernel image for ARMv7 and ARMv8 SoCs (like
> multi_v7 for ARMv7).
> 
> Instead build clock drivers only for respective SoC's architecture.
> 
> Signed-off-by: Krzysztof Kozlowski <[email-masked]>
> ---
>  drivers/clk/samsung/Kconfig  | 13 +++++++++++++
>  drivers/clk/samsung/Makefile |  4 ++--
>  2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
> index 84196ecdaa12..5f138fc4d84d 100644
> --- a/drivers/clk/samsung/Kconfig
> +++ b/drivers/clk/samsung/Kconfig
> @@ -2,6 +2,7 @@ config COMMON_CLK_SAMSUNG
>  	bool
>  	select COMMON_CLK
>  
> +# ARMv7 SoCs:
>  config S3C2410_COMMON_CLK
>  	bool
>  	select COMMON_CLK_SAMSUNG
> @@ -24,3 +25,15 @@ config S3C2443_COMMON_CLK
>  	bool
>  	select COMMON_CLK_SAMSUNG
>  
> +# ARMv8 SoCs:
> +config EXYNOS5433_COMMON_CLK
> +	bool
> +	depends on ARM64 || COMPILE_TEST
> +	default ARCH_EXYNOS
> +	select COMMON_CLK_SAMSUNG
> +
> +config EXYNOS7_COMMON_CLK
> +	bool
> +	depends on ARM64 || COMPILE_TEST
> +	default ARCH_EXYNOS
> +	select COMMON_CLK_SAMSUNG
> diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
> index 5f6833ea355d..a31332a24ef4 100644
> --- a/drivers/clk/samsung/Makefile
> +++ b/drivers/clk/samsung/Makefile
> @@ -10,11 +10,11 @@ obj-$(CONFIG_SOC_EXYNOS5250)	+= clk-exynos5250.o
>  obj-$(CONFIG_SOC_EXYNOS5260)	+= clk-exynos5260.o
>  obj-$(CONFIG_SOC_EXYNOS5410)	+= clk-exynos5410.o
>  obj-$(CONFIG_SOC_EXYNOS5420)	+= clk-exynos5420.o
> -obj-$(CONFIG_ARCH_EXYNOS)	+= clk-exynos5433.o
> +obj-$(CONFIG_EXYNOS5433_COMMON_CLK)	+= clk-exynos5433.o
>  obj-$(CONFIG_SOC_EXYNOS5440)	+= clk-exynos5440.o
>  obj-$(CONFIG_ARCH_EXYNOS)	+= clk-exynos-audss.o
>  obj-$(CONFIG_ARCH_EXYNOS)	+= clk-exynos-clkout.o
> -obj-$(CONFIG_ARCH_EXYNOS7)	+= clk-exynos7.o
> +obj-$(CONFIG_EXYNOS7_COMMON_CLK)	+= clk-exynos7.o
>  obj-$(CONFIG_S3C2410_COMMON_CLK)+= clk-s3c2410.o
>  obj-$(CONFIG_S3C2410_COMMON_DCLK)+= clk-s3c2410-dclk.o
>  obj-$(CONFIG_S3C2412_COMMON_CLK)+= clk-s3c2412.o
> 

So in this approach we need to add separate config for clock support of
each ARM64 Exynos64 SoC. Is this fine?

Can we club compilation of each ARM64 Exynos SoC clock file under
EXYNOS7_COMMON_CLK? As for all ARM64 SoC there is single defconfig and
binary.

Thanks,
Pankaj Dubey