* [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options
@ 2013-09-13 9:28 Bartlomiej Zolnierkiewicz
2013-09-17 10:45 ` [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT " Tomasz Figa
2013-09-26 4:09 ` Kukjin Kim
0 siblings, 2 replies; 5+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-09-13 9:28 UTC (permalink / raw)
To: linux-arm-kernel
EXYNOS is now Device Tree (DT) only platform so it makes no sense to have
config options responsible for enabling platform specific DT support.
Moreover the kernel image won't even link if neither CONFIG_MACH_EXYNOS4_DT
nor CONFIG_MACH_EXYNOS5_DT config option is enabled (linker fails with "no
machine record defined" error).
Remove CONFIG_MACH_EXYNOS[4,5]_DT config options and just use the standard
CONFIG_ARCH_EXYNOS[4,5] ones instead.
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/configs/exynos_defconfig | 1 -
arch/arm/mach-exynos/Kconfig | 38 +++++++++-----------------------------
arch/arm/mach-exynos/Makefile | 4 ++--
3 files changed, 11 insertions(+), 32 deletions(-)
diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index ad7dfbb..5181d0d 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -11,7 +11,6 @@ CONFIG_ARCH_EXYNOS=y
CONFIG_S3C_LOWLEVEL_UART_PORT=3
CONFIG_S3C24XX_PWM=y
CONFIG_ARCH_EXYNOS5=y
-CONFIG_MACH_EXYNOS4_DT=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
CONFIG_PREEMPT=y
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index cb36807..b810f2f 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -14,19 +14,28 @@ menu "SAMSUNG EXYNOS SoCs Support"
config ARCH_EXYNOS4
bool "SAMSUNG EXYNOS4"
default y
+ select ARM_AMBA
+ select CLKSRC_OF
+ select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
+ select CPU_EXYNOS4210
select GIC_NON_BANKED
+ select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
select HAVE_ARM_SCU if SMP
select HAVE_SMP
select MIGHT_HAVE_CACHE_L2X0
select PINCTRL
+ select S5P_DEV_MFC
help
Samsung EXYNOS4 SoCs based systems
config ARCH_EXYNOS5
bool "SAMSUNG EXYNOS5"
+ select ARM_AMBA
+ select CLKSRC_OF
select HAVE_ARM_SCU if SMP
select HAVE_SMP
select PINCTRL
+ select USB_ARCH_HAS_XHCI
help
Samsung EXYNOS5 (Cortex-A15) SoC based systems
@@ -110,35 +119,6 @@ config SOC_EXYNOS5440
help
Enable EXYNOS5440 SoC support
-comment "Flattened Device Tree based board for EXYNOS SoCs"
-
-config MACH_EXYNOS4_DT
- bool "Samsung Exynos4 Machine using device tree"
- default y
- depends on ARCH_EXYNOS4
- select ARM_AMBA
- select CLKSRC_OF
- select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
- select CPU_EXYNOS4210
- select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
- select S5P_DEV_MFC
- help
- Machine support for Samsung Exynos4 machine with device tree enabled.
- Select this if a fdt blob is available for the Exynos4 SoC based board.
- Note: This is under development and not all peripherals can be supported
- with this machine file.
-
-config MACH_EXYNOS5_DT
- bool "SAMSUNG EXYNOS5 Machine using device tree"
- default y
- depends on ARCH_EXYNOS5
- select ARM_AMBA
- select CLKSRC_OF
- select USB_ARCH_HAS_XHCI
- help
- Machine support for Samsung EXYNOS5 machine with device tree enabled.
- Select this if a fdt blob is available for the EXYNOS5 SoC based board.
-
endmenu
endif
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
index 5369615..8930b66 100644
--- a/arch/arm/mach-exynos/Makefile
+++ b/arch/arm/mach-exynos/Makefile
@@ -32,5 +32,5 @@ AFLAGS_exynos-smc.o :=-Wa,-march=armv7-a$(plus_sec)
# machine support
-obj-$(CONFIG_MACH_EXYNOS4_DT) += mach-exynos4-dt.o
-obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o
+obj-$(CONFIG_ARCH_EXYNOS4) += mach-exynos4-dt.o
+obj-$(CONFIG_ARCH_EXYNOS5) += mach-exynos5-dt.o
--
1.8.2.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT config options
2013-09-13 9:28 [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options Bartlomiej Zolnierkiewicz
@ 2013-09-17 10:45 ` Tomasz Figa
2013-09-23 10:23 ` Bartlomiej Zolnierkiewicz
2013-09-26 4:09 ` Kukjin Kim
1 sibling, 1 reply; 5+ messages in thread
From: Tomasz Figa @ 2013-09-17 10:45 UTC (permalink / raw)
To: linux-arm-kernel
Hi Bart,
On Friday 13 of September 2013 11:28:31 Bartlomiej Zolnierkiewicz wrote:
> EXYNOS is now Device Tree (DT) only platform so it makes no sense to have
> config options responsible for enabling platform specific DT support.
>
> Moreover the kernel image won't even link if neither
> CONFIG_MACH_EXYNOS4_DT nor CONFIG_MACH_EXYNOS5_DT config option is
> enabled (linker fails with "no machine record defined" error).
>
> Remove CONFIG_MACH_EXYNOS[4,5]_DT config options and just use the
> standard CONFIG_ARCH_EXYNOS[4,5] ones instead.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/configs/exynos_defconfig | 1 -
> arch/arm/mach-exynos/Kconfig | 38
> +++++++++----------------------------- arch/arm/mach-exynos/Makefile
> | 4 ++--
> 3 files changed, 11 insertions(+), 32 deletions(-)
Generally I see this as a nice cleanup, but I'd go even further than this.
See below.
> diff --git a/arch/arm/configs/exynos_defconfig
> b/arch/arm/configs/exynos_defconfig index ad7dfbb..5181d0d 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -11,7 +11,6 @@ CONFIG_ARCH_EXYNOS=y
> CONFIG_S3C_LOWLEVEL_UART_PORT=3
> CONFIG_S3C24XX_PWM=y
> CONFIG_ARCH_EXYNOS5=y
> -CONFIG_MACH_EXYNOS4_DT=y
> CONFIG_SMP=y
> CONFIG_NR_CPUS=2
> CONFIG_PREEMPT=y
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index cb36807..b810f2f 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -14,19 +14,28 @@ menu "SAMSUNG EXYNOS SoCs Support"
> config ARCH_EXYNOS4
> bool "SAMSUNG EXYNOS4"
> default y
> + select ARM_AMBA
> + select CLKSRC_OF
> + select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
> + select CPU_EXYNOS4210
The line above shows the brokenness of current layout of Exynos Kconfig
options. You need to select some SoC in SAMSUNG EXYNOS4, because otherwise
the build will fail if user doesn't select at least one of Exynos4 SoCs.
Instead, I would hide the ARCH_EXYNOS4 and ARCH_EXYNOS4 options and select
them from entries of particular SoCs, i.e. ARCH_EXYNOS4 would be selected
by CPU_EXYNOS4210, SOC_EXYNOS4212 and SOC_EXYNOS4412, ARCH_EXYNOS5 by
SOC_EXYNOS5250 and SOC_EXYNOS5420 and so on.
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT config options
2013-09-17 10:45 ` [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT " Tomasz Figa
@ 2013-09-23 10:23 ` Bartlomiej Zolnierkiewicz
2013-09-23 12:34 ` Tomasz Figa
0 siblings, 1 reply; 5+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-09-23 10:23 UTC (permalink / raw)
To: linux-arm-kernel
Hi Tomek,
On Tuesday, September 17, 2013 12:45:21 PM Tomasz Figa wrote:
> Hi Bart,
>
> On Friday 13 of September 2013 11:28:31 Bartlomiej Zolnierkiewicz wrote:
> > EXYNOS is now Device Tree (DT) only platform so it makes no sense to have
> > config options responsible for enabling platform specific DT support.
> >
> > Moreover the kernel image won't even link if neither
> > CONFIG_MACH_EXYNOS4_DT nor CONFIG_MACH_EXYNOS5_DT config option is
> > enabled (linker fails with "no machine record defined" error).
> >
> > Remove CONFIG_MACH_EXYNOS[4,5]_DT config options and just use the
> > standard CONFIG_ARCH_EXYNOS[4,5] ones instead.
> >
> > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> > arch/arm/configs/exynos_defconfig | 1 -
> > arch/arm/mach-exynos/Kconfig | 38
> > +++++++++----------------------------- arch/arm/mach-exynos/Makefile
> > | 4 ++--
> > 3 files changed, 11 insertions(+), 32 deletions(-)
>
> Generally I see this as a nice cleanup, but I'd go even further than this.
> See below.
>
> > diff --git a/arch/arm/configs/exynos_defconfig
> > b/arch/arm/configs/exynos_defconfig index ad7dfbb..5181d0d 100644
> > --- a/arch/arm/configs/exynos_defconfig
> > +++ b/arch/arm/configs/exynos_defconfig
> > @@ -11,7 +11,6 @@ CONFIG_ARCH_EXYNOS=y
> > CONFIG_S3C_LOWLEVEL_UART_PORT=3
> > CONFIG_S3C24XX_PWM=y
> > CONFIG_ARCH_EXYNOS5=y
> > -CONFIG_MACH_EXYNOS4_DT=y
> > CONFIG_SMP=y
> > CONFIG_NR_CPUS=2
> > CONFIG_PREEMPT=y
> > diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> > index cb36807..b810f2f 100644
> > --- a/arch/arm/mach-exynos/Kconfig
> > +++ b/arch/arm/mach-exynos/Kconfig
> > @@ -14,19 +14,28 @@ menu "SAMSUNG EXYNOS SoCs Support"
> > config ARCH_EXYNOS4
> > bool "SAMSUNG EXYNOS4"
> > default y
> > + select ARM_AMBA
> > + select CLKSRC_OF
> > + select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
> > + select CPU_EXYNOS4210
>
> The line above shows the brokenness of current layout of Exynos Kconfig
> options. You need to select some SoC in SAMSUNG EXYNOS4, because otherwise
> the build will fail if user doesn't select at least one of Exynos4 SoCs.
>
> Instead, I would hide the ARCH_EXYNOS4 and ARCH_EXYNOS4 options and select
> them from entries of particular SoCs, i.e. ARCH_EXYNOS4 would be selected
> by CPU_EXYNOS4210, SOC_EXYNOS4212 and SOC_EXYNOS4412, ARCH_EXYNOS5 by
> SOC_EXYNOS5250 and SOC_EXYNOS5420 and so on.
This is a good idea but I think that it is better to address it later in
an incremental patch (which I will also do unless someone beats me to it).
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT config options
2013-09-23 10:23 ` Bartlomiej Zolnierkiewicz
@ 2013-09-23 12:34 ` Tomasz Figa
0 siblings, 0 replies; 5+ messages in thread
From: Tomasz Figa @ 2013-09-23 12:34 UTC (permalink / raw)
To: linux-arm-kernel
On Monday 23 of September 2013 12:23:51 Bartlomiej Zolnierkiewicz wrote:
> Hi Tomek,
>
> On Tuesday, September 17, 2013 12:45:21 PM Tomasz Figa wrote:
> > Hi Bart,
[snip]
> > > + select ARM_AMBA
> > > + select CLKSRC_OF
> > > + select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
> > > + select CPU_EXYNOS4210
> >
> > The line above shows the brokenness of current layout of Exynos Kconfig
> > options. You need to select some SoC in SAMSUNG EXYNOS4, because
> > otherwise the build will fail if user doesn't select at least one of
> > Exynos4 SoCs.
> >
> > Instead, I would hide the ARCH_EXYNOS4 and ARCH_EXYNOS4 options and
> > select them from entries of particular SoCs, i.e. ARCH_EXYNOS4 would
> > be selected by CPU_EXYNOS4210, SOC_EXYNOS4212 and SOC_EXYNOS4412,
> > ARCH_EXYNOS5 by SOC_EXYNOS5250 and SOC_EXYNOS5420 and so on.
>
> This is a good idea but I think that it is better to address it later in
> an incremental patch (which I will also do unless someone beats me to
> it).
OK, sounds good. I take your word for it. ;)
Acked-by: Tomasz Figa <t.figa@samsung.com>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT config options
2013-09-13 9:28 [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options Bartlomiej Zolnierkiewicz
2013-09-17 10:45 ` [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT " Tomasz Figa
@ 2013-09-26 4:09 ` Kukjin Kim
1 sibling, 0 replies; 5+ messages in thread
From: Kukjin Kim @ 2013-09-26 4:09 UTC (permalink / raw)
To: linux-arm-kernel
Bartlomiej Zolnierkiewicz wrote:
>
> EXYNOS is now Device Tree (DT) only platform so it makes no sense to have
> config options responsible for enabling platform specific DT support.
>
> Moreover the kernel image won't even link if neither
> CONFIG_MACH_EXYNOS4_DT
> nor CONFIG_MACH_EXYNOS5_DT config option is enabled (linker fails with "no
> machine record defined" error).
>
> Remove CONFIG_MACH_EXYNOS[4,5]_DT config options and just use the standard
> CONFIG_ARCH_EXYNOS[4,5] ones instead.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/configs/exynos_defconfig | 1 -
> arch/arm/mach-exynos/Kconfig | 38
+++++++++--------------------------
> ---
> arch/arm/mach-exynos/Makefile | 4 ++--
> 3 files changed, 11 insertions(+), 32 deletions(-)
>
> diff --git a/arch/arm/configs/exynos_defconfig
> b/arch/arm/configs/exynos_defconfig
> index ad7dfbb..5181d0d 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -11,7 +11,6 @@ CONFIG_ARCH_EXYNOS=y
> CONFIG_S3C_LOWLEVEL_UART_PORT=3
> CONFIG_S3C24XX_PWM=y
> CONFIG_ARCH_EXYNOS5=y
> -CONFIG_MACH_EXYNOS4_DT=y
> CONFIG_SMP=y
> CONFIG_NR_CPUS=2
> CONFIG_PREEMPT=y
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index cb36807..b810f2f 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -14,19 +14,28 @@ menu "SAMSUNG EXYNOS SoCs Support"
> config ARCH_EXYNOS4
> bool "SAMSUNG EXYNOS4"
> default y
> + select ARM_AMBA
> + select CLKSRC_OF
> + select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
> + select CPU_EXYNOS4210
> select GIC_NON_BANKED
> + select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
> select HAVE_ARM_SCU if SMP
> select HAVE_SMP
> select MIGHT_HAVE_CACHE_L2X0
> select PINCTRL
> + select S5P_DEV_MFC
> help
> Samsung EXYNOS4 SoCs based systems
>
> config ARCH_EXYNOS5
> bool "SAMSUNG EXYNOS5"
> + select ARM_AMBA
> + select CLKSRC_OF
> select HAVE_ARM_SCU if SMP
> select HAVE_SMP
> select PINCTRL
> + select USB_ARCH_HAS_XHCI
> help
> Samsung EXYNOS5 (Cortex-A15) SoC based systems
>
> @@ -110,35 +119,6 @@ config SOC_EXYNOS5440
> help
> Enable EXYNOS5440 SoC support
>
> -comment "Flattened Device Tree based board for EXYNOS SoCs"
> -
> -config MACH_EXYNOS4_DT
> - bool "Samsung Exynos4 Machine using device tree"
> - default y
> - depends on ARCH_EXYNOS4
> - select ARM_AMBA
> - select CLKSRC_OF
> - select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
> - select CPU_EXYNOS4210
> - select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
> - select S5P_DEV_MFC
> - help
> - Machine support for Samsung Exynos4 machine with device tree
> enabled.
> - Select this if a fdt blob is available for the Exynos4 SoC based
> board.
> - Note: This is under development and not all peripherals can be
> supported
> - with this machine file.
> -
> -config MACH_EXYNOS5_DT
> - bool "SAMSUNG EXYNOS5 Machine using device tree"
> - default y
> - depends on ARCH_EXYNOS5
> - select ARM_AMBA
> - select CLKSRC_OF
> - select USB_ARCH_HAS_XHCI
> - help
> - Machine support for Samsung EXYNOS5 machine with device tree
> enabled.
> - Select this if a fdt blob is available for the EXYNOS5 SoC based
> board.
> -
> endmenu
>
> endif
> diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
> index 5369615..8930b66 100644
> --- a/arch/arm/mach-exynos/Makefile
> +++ b/arch/arm/mach-exynos/Makefile
> @@ -32,5 +32,5 @@ AFLAGS_exynos-smc.o :=-Wa,-march=armv7-
> a$(plus_sec)
>
> # machine support
>
> -obj-$(CONFIG_MACH_EXYNOS4_DT) += mach-exynos4-dt.o
> -obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o
> +obj-$(CONFIG_ARCH_EXYNOS4) += mach-exynos4-dt.o
> +obj-$(CONFIG_ARCH_EXYNOS5) += mach-exynos5-dt.o
> --
> 1.8.2.3
OK, this cleanup looks good to me but updating defconfig is not required in
this patch because it should be updated separately according to updating
other stuff...
Will apply except updating defconfig.
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-09-26 4:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-13 9:28 [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options Bartlomiej Zolnierkiewicz
2013-09-17 10:45 ` [PATCH] ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4,5]_DT " Tomasz Figa
2013-09-23 10:23 ` Bartlomiej Zolnierkiewicz
2013-09-23 12:34 ` Tomasz Figa
2013-09-26 4:09 ` Kukjin Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).