Thread (13 messages) flat view 13 messages, 3 authors, 2012-10-23
DORMANTno replies

[PATCH 4/4] ARM: EXYNOS: Kconfig: Remove dependencies on particular SoCs from DT machines

From: Tomasz Figa <hidden>
Date: 2012-10-23 19:28:42
Also in: linux-samsung-soc

On Tuesday 23 of October 2012 22:27:41 Kukjin Kim wrote:
Tomasz Figa wrote:
quoted
MACH_EXYNOS{4,5}_DT are used for whole SoC lines, so they should
depend
on ARCH_EXYNOS{4,5} rather than on particular SoCs.

Signed-off-by: Tomasz Figa <redacted>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---

 arch/arm/mach-exynos/Kconfig | 2 --
 1 file changed, 2 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig
b/arch/arm/mach-exynos/Kconfig index 6ea95f0..2e82ce7 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -404,7 +404,6 @@ comment "Flattened Device Tree based board for
EXYNOS SoCs"

 config MACH_EXYNOS4_DT
 
 	bool "Samsung Exynos4 Machine using device tree"
 	depends on ARCH_EXYNOS4

-	select SOC_EXYNOS4210

 	select USE_OF
 	select ARM_AMBA
 	select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD
@@ -419,7 +418,6 @@ config MACH_EXYNOS4_DT

 config MACH_EXYNOS5_DT
 
 	bool "SAMSUNG EXYNOS5 Machine using device tree"
 	depends on ARCH_EXYNOS5

-	select SOC_EXYNOS5250

 	select USE_OF
 	select ARM_AMBA
 	help

--
1.7.12
Hmm...your comment is correct, but we need to think again its selecting
order, between ARCH name, SoC and board. In addition, in case of
MACH_XXX_DT depending on SoC is rather to be supposed...
With device tree the situation is a bit different than with boards, 
because mach-exynos4-dt does not limit the scope to a single SoC, but 
rather to the whole Exynos4 arch/family.

Making MACH_EXYNOS4_DT select all SOC_EXYNOS4* would remove the ability to 
enable/disable support for particular Exynos4 SoCs, so in my opinion it is 
not a good option.

Selecting ARCH_EXYNOS4 is not enough for the kernel to work, because at 
least one SoC must be enabled.

So I think that letting the user select the SoCs he want to be supported 
and making MACH_EXYNOS4_DT depend on at least one of Exynos4 SoCs (which 
is implied by ARCH_EXYNOS4 enabled) is the most reasonable variant.

Btw. Maybe this could go in pair with something like

 static char const *exynos4_dt_compat[] __initdata = {
+#ifdef CONFIG_SOC_EXYNOS4210
 	"samsung,exynos4210",
+#endif
/* and so on for any Exynos4 SoCs added in future... */
 	NULL
 };

to make the kernel reject booting DT-enabled boards with unsupported SoCs. 
What do you think?

Best regards,
Tomasz Figa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help