diff mbox

arm64: Split out platform options to separate Kconfig

Message ID 1436958621-23524-1-git-send-email-olof@lixom.net (mailing list archive)
State New, archived
Headers show

Commit Message

Olof Johansson July 15, 2015, 11:10 a.m. UTC
Let's move out the platform Kconfig entries to a separate file, since these
changes usually get moved through arm-soc instead of the arm64 arch tree, and
this will lead to fewer conflicts

Signed-off-by: Olof Johansson <olof@lixom.net>
---

Will, Catalin, I'll merge this through arm-soc if I get your acks. Thanks!


-Olof

 arch/arm64/Kconfig           | 105 +------------------------------------------
 arch/arm64/Kconfig.platforms | 104 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+), 104 deletions(-)
 create mode 100644 arch/arm64/Kconfig.platforms

Comments

Will Deacon July 15, 2015, 1:01 p.m. UTC | #1
Hi Olof,

On Wed, Jul 15, 2015 at 12:10:21PM +0100, Olof Johansson wrote:
> Let's move out the platform Kconfig entries to a separate file, since these
> changes usually get moved through arm-soc instead of the arm64 arch tree, and
> this will lead to fewer conflicts
> 
> Signed-off-by: Olof Johansson <olof@lixom.net>
> ---
> 
> Will, Catalin, I'll merge this through arm-soc if I get your acks. Thanks!

Fine by me:

  Acked-by: Will Deacon <will.deacon@arm.com>

The only problem I can think of is how we resolve defconfig conflicts
between you adding a new platform and us adding a new feature, since
resolving those usually happens by regenerating the defconfig anyway.

Maybe we just wait until -rc1 before adding new platforms to defconfig?

Will
Catalin Marinas July 15, 2015, 1:20 p.m. UTC | #2
On Wed, Jul 15, 2015 at 07:10:21AM -0400, Olof Johansson wrote:
> Let's move out the platform Kconfig entries to a separate file, since these
> changes usually get moved through arm-soc instead of the arm64 arch tree, and
> this will lead to fewer conflicts
> 
> Signed-off-by: Olof Johansson <olof@lixom.net>
> ---
> 
> Will, Catalin, I'll merge this through arm-soc if I get your acks. Thanks!

That's fine by me.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

> +config ARCH_TEGRA
> +	bool "NVIDIA Tegra SoC Family"
> +	select ARCH_HAS_RESET_CONTROLLER
> +	select ARCH_REQUIRE_GPIOLIB
> +	select CLKDEV_LOOKUP
> +	select CLKSRC_MMIO
> +	select CLKSRC_OF
> +	select GENERIC_CLOCKEVENTS
> +	select HAVE_CLK
> +	select PINCTRL
> +	select RESET_CONTROLLER
> +	help
> +	  This enables support for the NVIDIA Tegra SoC family.
> +
> +config ARCH_TEGRA_132_SOC
> +	bool "NVIDIA Tegra132 SoC"
> +	depends on ARCH_TEGRA
> +	select PINCTRL_TEGRA124
> +	select USB_ULPI if USB_PHY
> +	select USB_ULPI_VIEWPORT if USB_PHY
> +	help
> +	  Enable support for NVIDIA Tegra132 SoC, based on the Denver
> +	  ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
> +	  but contains an NVIDIA Denver CPU complex in place of
> +	  Tegra124's "4+1" Cortex-A15 CPU complex.

Also, please make sure we won't get any more Kconfig entries for SoC
variations on arm64 (still waiting for the Tegra folk to remove
ARCH_TEGRA_132_SOC; this seems to be one of the very few SoCs that use
Makefile obj-y tricks to build clock, memory controller drivers instead
of dedicated driver Kconfig entries and they aren't even consistent:
PINCTRL_TEGRA124).

Thanks.
Olof Johansson July 17, 2015, 5:27 p.m. UTC | #3
On Wed, Jul 15, 2015 at 02:20:14PM +0100, Catalin Marinas wrote:
> On Wed, Jul 15, 2015 at 07:10:21AM -0400, Olof Johansson wrote:
> > Let's move out the platform Kconfig entries to a separate file, since these
> > changes usually get moved through arm-soc instead of the arm64 arch tree, and
> > this will lead to fewer conflicts
> > 
> > Signed-off-by: Olof Johansson <olof@lixom.net>
> > ---
> > 
> > Will, Catalin, I'll merge this through arm-soc if I get your acks. Thanks!
> 
> That's fine by me.
> 
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>

Cool, applying here then!

> > +config ARCH_TEGRA
> > +	bool "NVIDIA Tegra SoC Family"
> > +	select ARCH_HAS_RESET_CONTROLLER
> > +	select ARCH_REQUIRE_GPIOLIB
> > +	select CLKDEV_LOOKUP
> > +	select CLKSRC_MMIO
> > +	select CLKSRC_OF
> > +	select GENERIC_CLOCKEVENTS
> > +	select HAVE_CLK
> > +	select PINCTRL
> > +	select RESET_CONTROLLER
> > +	help
> > +	  This enables support for the NVIDIA Tegra SoC family.
> > +
> > +config ARCH_TEGRA_132_SOC
> > +	bool "NVIDIA Tegra132 SoC"
> > +	depends on ARCH_TEGRA
> > +	select PINCTRL_TEGRA124
> > +	select USB_ULPI if USB_PHY
> > +	select USB_ULPI_VIEWPORT if USB_PHY
> > +	help
> > +	  Enable support for NVIDIA Tegra132 SoC, based on the Denver
> > +	  ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
> > +	  but contains an NVIDIA Denver CPU complex in place of
> > +	  Tegra124's "4+1" Cortex-A15 CPU complex.
> 
> Also, please make sure we won't get any more Kconfig entries for SoC
> variations on arm64 (still waiting for the Tegra folk to remove
> ARCH_TEGRA_132_SOC; this seems to be one of the very few SoCs that use
> Makefile obj-y tricks to build clock, memory controller drivers instead
> of dedicated driver Kconfig entries and they aren't even consistent:
> PINCTRL_TEGRA124).

Yep. I'd imagine at some point some platforms will want to segment out
major families (and in particular server vs mobile, etc) for dependency
reasons, but right now there should be little need for it.



-Olof
Olof Johansson July 17, 2015, 5:29 p.m. UTC | #4
On Wed, Jul 15, 2015 at 02:01:52PM +0100, Will Deacon wrote:
> Hi Olof,
> 
> On Wed, Jul 15, 2015 at 12:10:21PM +0100, Olof Johansson wrote:
> > Let's move out the platform Kconfig entries to a separate file, since these
> > changes usually get moved through arm-soc instead of the arm64 arch tree, and
> > this will lead to fewer conflicts
> > 
> > Signed-off-by: Olof Johansson <olof@lixom.net>
> > ---
> > 
> > Will, Catalin, I'll merge this through arm-soc if I get your acks. Thanks!
> 
> Fine by me:
> 
>   Acked-by: Will Deacon <will.deacon@arm.com>
> 
> The only problem I can think of is how we resolve defconfig conflicts
> between you adding a new platform and us adding a new feature, since
> resolving those usually happens by regenerating the defconfig anyway.
> 
> Maybe we just wait until -rc1 before adding new platforms to defconfig?

We've been able to avoid most of these conflicts so far, haven't
we? Hopefully it'll be fairly limited. We don't want to hold off touching
defconfig until -rc1 since it means no build/test coverage until after
the merge window closes.  So hopefully we can just deal with it as it
comes up.


-Olof
diff mbox

Patch

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 318175f..430e7fa 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -160,110 +160,7 @@  source "init/Kconfig"
 
 source "kernel/Kconfig.freezer"
 
-menu "Platform selection"
-
-config ARCH_EXYNOS
-	bool
-	help
-	  This enables support for Samsung Exynos SoC family
-
-config ARCH_EXYNOS7
-	bool "ARMv8 based Samsung Exynos7"
-	select ARCH_EXYNOS
-	select COMMON_CLK_SAMSUNG
-	select HAVE_S3C2410_WATCHDOG if WATCHDOG
-	select HAVE_S3C_RTC if RTC_CLASS
-	select PINCTRL
-	select PINCTRL_EXYNOS
-
-	help
-	  This enables support for Samsung Exynos7 SoC family
-
-config ARCH_FSL_LS2085A
-	bool "Freescale LS2085A SOC"
-	help
-	  This enables support for Freescale LS2085A SOC.
-
-config ARCH_HISI
-	bool "Hisilicon SoC Family"
-	help
-	  This enables support for Hisilicon ARMv8 SoC family
-
-config ARCH_MEDIATEK
-	bool "Mediatek MT65xx & MT81xx ARMv8 SoC"
-	select ARM_GIC
-	select PINCTRL
-	help
-	  Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
-
-config ARCH_QCOM
-	bool "Qualcomm Platforms"
-	select PINCTRL
-	help
-	  This enables support for the ARMv8 based Qualcomm chipsets.
-
-config ARCH_SEATTLE
-	bool "AMD Seattle SoC Family"
-	help
-	  This enables support for AMD Seattle SOC Family
-
-config ARCH_TEGRA
-	bool "NVIDIA Tegra SoC Family"
-	select ARCH_HAS_RESET_CONTROLLER
-	select ARCH_REQUIRE_GPIOLIB
-	select CLKDEV_LOOKUP
-	select CLKSRC_MMIO
-	select CLKSRC_OF
-	select GENERIC_CLOCKEVENTS
-	select HAVE_CLK
-	select PINCTRL
-	select RESET_CONTROLLER
-	help
-	  This enables support for the NVIDIA Tegra SoC family.
-
-config ARCH_TEGRA_132_SOC
-	bool "NVIDIA Tegra132 SoC"
-	depends on ARCH_TEGRA
-	select PINCTRL_TEGRA124
-	select USB_ULPI if USB_PHY
-	select USB_ULPI_VIEWPORT if USB_PHY
-	help
-	  Enable support for NVIDIA Tegra132 SoC, based on the Denver
-	  ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
-	  but contains an NVIDIA Denver CPU complex in place of
-	  Tegra124's "4+1" Cortex-A15 CPU complex.
-
-config ARCH_SPRD
-	bool "Spreadtrum SoC platform"
-	help
-	  Support for Spreadtrum ARM based SoCs
-
-config ARCH_THUNDER
-	bool "Cavium Inc. Thunder SoC Family"
-	help
-	  This enables support for Cavium's Thunder Family of SoCs.
-
-config ARCH_VEXPRESS
-	bool "ARMv8 software model (Versatile Express)"
-	select ARCH_REQUIRE_GPIOLIB
-	select COMMON_CLK_VERSATILE
-	select POWER_RESET_VEXPRESS
-	select VEXPRESS_CONFIG
-	help
-	  This enables support for the ARMv8 software model (Versatile
-	  Express).
-
-config ARCH_XGENE
-	bool "AppliedMicro X-Gene SOC Family"
-	help
-	  This enables support for AppliedMicro X-Gene SOC Family
-
-config ARCH_ZYNQMP
-	bool "Xilinx ZynqMP Family"
-	help
-	  This enables support for Xilinx ZynqMP Family
-
-endmenu
+source "Kconfig.platforms"
 
 menu "Bus support"
 
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
new file mode 100644
index 0000000..7de731e
--- /dev/null
+++ b/arch/arm64/Kconfig.platforms
@@ -0,0 +1,104 @@ 
+menu "Platform selection"
+
+config ARCH_EXYNOS
+	bool
+	help
+	  This enables support for Samsung Exynos SoC family
+
+config ARCH_EXYNOS7
+	bool "ARMv8 based Samsung Exynos7"
+	select ARCH_EXYNOS
+	select COMMON_CLK_SAMSUNG
+	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select HAVE_S3C_RTC if RTC_CLASS
+	select PINCTRL
+	select PINCTRL_EXYNOS
+
+	help
+	  This enables support for Samsung Exynos7 SoC family
+
+config ARCH_FSL_LS2085A
+	bool "Freescale LS2085A SOC"
+	help
+	  This enables support for Freescale LS2085A SOC.
+
+config ARCH_HISI
+	bool "Hisilicon SoC Family"
+	help
+	  This enables support for Hisilicon ARMv8 SoC family
+
+config ARCH_MEDIATEK
+	bool "Mediatek MT65xx & MT81xx ARMv8 SoC"
+	select ARM_GIC
+	select PINCTRL
+	help
+	  Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
+
+config ARCH_QCOM
+	bool "Qualcomm Platforms"
+	select PINCTRL
+	help
+	  This enables support for the ARMv8 based Qualcomm chipsets.
+
+config ARCH_SEATTLE
+	bool "AMD Seattle SoC Family"
+	help
+	  This enables support for AMD Seattle SOC Family
+
+config ARCH_TEGRA
+	bool "NVIDIA Tegra SoC Family"
+	select ARCH_HAS_RESET_CONTROLLER
+	select ARCH_REQUIRE_GPIOLIB
+	select CLKDEV_LOOKUP
+	select CLKSRC_MMIO
+	select CLKSRC_OF
+	select GENERIC_CLOCKEVENTS
+	select HAVE_CLK
+	select PINCTRL
+	select RESET_CONTROLLER
+	help
+	  This enables support for the NVIDIA Tegra SoC family.
+
+config ARCH_TEGRA_132_SOC
+	bool "NVIDIA Tegra132 SoC"
+	depends on ARCH_TEGRA
+	select PINCTRL_TEGRA124
+	select USB_ULPI if USB_PHY
+	select USB_ULPI_VIEWPORT if USB_PHY
+	help
+	  Enable support for NVIDIA Tegra132 SoC, based on the Denver
+	  ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
+	  but contains an NVIDIA Denver CPU complex in place of
+	  Tegra124's "4+1" Cortex-A15 CPU complex.
+
+config ARCH_SPRD
+	bool "Spreadtrum SoC platform"
+	help
+	  Support for Spreadtrum ARM based SoCs
+
+config ARCH_THUNDER
+	bool "Cavium Inc. Thunder SoC Family"
+	help
+	  This enables support for Cavium's Thunder Family of SoCs.
+
+config ARCH_VEXPRESS
+	bool "ARMv8 software model (Versatile Express)"
+	select ARCH_REQUIRE_GPIOLIB
+	select COMMON_CLK_VERSATILE
+	select POWER_RESET_VEXPRESS
+	select VEXPRESS_CONFIG
+	help
+	  This enables support for the ARMv8 software model (Versatile
+	  Express).
+
+config ARCH_XGENE
+	bool "AppliedMicro X-Gene SOC Family"
+	help
+	  This enables support for AppliedMicro X-Gene SOC Family
+
+config ARCH_ZYNQMP
+	bool "Xilinx ZynqMP Family"
+	help
+	  This enables support for Xilinx ZynqMP Family
+
+endmenu