[kernel] - Major cleanup of arm64 config - Add patch to enable build exynos5 as multi platform for lpae - Min

Peter Robinson pbrobinson at fedoraproject.org
Thu Aug 15 16:24:34 UTC 2013


commit fe4e95043c34a4505388ec3b13264a4f22a47542
Author: Peter Robinson <pbrobinson at gmail.com>
Date:   Thu Aug 15 17:22:58 2013 +0100

    - Major cleanup of arm64 config
    - Add patch to enable build exynos5 as multi platform for lpae
    - Minor cleanup of ARMv7 configs

 arm-exynos-mp.patch  |  428 ++++++++++++++++++++++++++++++++++++++++++++++++++
 config-arm-generic   |   60 +++++---
 config-arm64         |  381 +++------------------------------------------
 config-armv7         |   23 +---
 config-armv7-generic |   31 +++--
 config-armv7-lpae    |   23 +++-
 config-generic       |    1 +
 config-s390x         |    1 -
 kernel.spec          |    7 +
 9 files changed, 534 insertions(+), 421 deletions(-)
---
diff --git a/arm-exynos-mp.patch b/arm-exynos-mp.patch
new file mode 100644
index 0000000..d037170
--- /dev/null
+++ b/arm-exynos-mp.patch
@@ -0,0 +1,428 @@
+commit 8b806e0201b97844d0eff4713eb88f0a6d0f689d
+Author: Arnd Bergmann <arnd at arndb.de>
+Date:   Fri Jun 14 17:16:30 2013 +0200
+
+    ARM: exynos multiplatform, next try
+    
+    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+    
+diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
+index e401a76..fad9324 100644
+--- a/arch/arm/Kconfig.debug
++++ b/arch/arm/Kconfig.debug
+@@ -422,7 +422,7 @@ choice
+ 
+ 	config DEBUG_S3C_UART0
+ 		depends on PLAT_SAMSUNG
+-		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
++		select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON
+ 		bool "Use S3C UART 0 for low-level debug"
+ 		help
+ 		  Say Y here if you want the debug print routines to direct
+@@ -434,7 +434,7 @@ choice
+ 
+ 	config DEBUG_S3C_UART1
+ 		depends on PLAT_SAMSUNG
+-		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
++		select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON
+ 		bool "Use S3C UART 1 for low-level debug"
+ 		help
+ 		  Say Y here if you want the debug print routines to direct
+@@ -446,7 +446,7 @@ choice
+ 
+ 	config DEBUG_S3C_UART2
+ 		depends on PLAT_SAMSUNG
+-		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
++		select DEBUG_EXYNOS_UART if ARCH_EXYNOS_COMMON
+ 		bool "Use S3C UART 2 for low-level debug"
+ 		help
+ 		  Say Y here if you want the debug print routines to direct
+@@ -457,7 +457,7 @@ choice
+ 		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
+ 
+ 	config DEBUG_S3C_UART3
+-		depends on PLAT_SAMSUNG && ARCH_EXYNOS
++		depends on PLAT_SAMSUNG && ARCH_EXYNOS_COMMON
+ 		select DEBUG_EXYNOS_UART
+ 		bool "Use S3C UART 3 for low-level debug"
+ 		help
+diff --git a/arch/arm/include/debug/samsung.S b/arch/arm/include/debug/samsung.S
+index f3a9cff..8d8d922 100644
+--- a/arch/arm/include/debug/samsung.S
++++ b/arch/arm/include/debug/samsung.S
+@@ -9,7 +9,7 @@
+  * published by the Free Software Foundation.
+ */
+ 
+-#include <plat/regs-serial.h>
++#include <linux/serial_s3c.h>
+ 
+ /* The S5PV210/S5PC110 implementations are as belows. */
+ 
+diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
+index 855d4a7..8744890 100644
+--- a/arch/arm/mach-exynos/Kconfig
++++ b/arch/arm/mach-exynos/Kconfig
+@@ -7,13 +7,24 @@
+ 
+ # Configuration options for the EXYNOS4
+ 
+-if ARCH_EXYNOS
++config ARCH_EXYNOS_MULTI
++	bool "Samsung EXYNOS" if ARCH_MULTI_V7
++	select ARCH_HAS_CPUFREQ
++	select CPU_V7
++	select GENERIC_CLOCKEVENTS
++	select HAVE_CLK
++	select HAVE_S3C2410_I2C if I2C
++	select HAVE_S3C_RTC if RTC_CLASS
++	help
++	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
++
++if ARCH_EXYNOS || ARCH_EXYNOS_MULTI
+ 
+ menu "SAMSUNG EXYNOS SoCs Support"
+ 
+ config ARCH_EXYNOS4
+ 	bool "SAMSUNG EXYNOS4"
+-	default y
++	default ARCH_EXYNOS
+ 	select GIC_NON_BANKED
+ 	select HAVE_ARM_SCU if SMP
+ 	select HAVE_SMP
+@@ -24,12 +35,16 @@ config ARCH_EXYNOS4
+ 
+ config ARCH_EXYNOS5
+ 	bool "SAMSUNG EXYNOS5"
++	default ARCH_EXYNOS
+ 	select HAVE_ARM_SCU if SMP
+ 	select HAVE_SMP
+ 	select PINCTRL
+ 	help
+ 	  Samsung EXYNOS5 (Cortex-A15) SoC based systems
+ 
++config ARCH_EXYNOS_COMMON
++	def_bool ARCH_EXYNOS4 || ARCH_EXYNOS5
++
+ comment "EXYNOS SoCs"
+ 
+ config CPU_EXYNOS4210
+@@ -41,7 +56,7 @@ config CPU_EXYNOS4210
+ 	select PM_GENERIC_DOMAINS if PM
+ 	select S5P_PM if PM
+ 	select S5P_SLEEP if PM
+-	select SAMSUNG_DMADEV
++	select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM
+ 	help
+ 	  Enable EXYNOS4210 CPU support
+ 
+@@ -49,10 +64,11 @@ config SOC_EXYNOS4212
+ 	bool "SAMSUNG EXYNOS4212"
+ 	default y
+ 	depends on ARCH_EXYNOS4
++	select MACH_EXYNOS4_DT
+ 	select PINCTRL_EXYNOS
+ 	select S5P_PM if PM
+ 	select S5P_SLEEP if PM
+-	select SAMSUNG_DMADEV
++	select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM
+ 	help
+ 	  Enable EXYNOS4212 SoC support
+ 
+@@ -60,8 +76,9 @@ config SOC_EXYNOS4412
+ 	bool "SAMSUNG EXYNOS4412"
+ 	default y
+ 	depends on ARCH_EXYNOS4
++	select MACH_EXYNOS4_DT
+ 	select PINCTRL_EXYNOS
+-	select SAMSUNG_DMADEV
++	select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM
+ 	help
+ 	  Enable EXYNOS4412 SoC support
+ 
+@@ -70,11 +87,12 @@ config SOC_EXYNOS5250
+ 	default y
+ 	depends on ARCH_EXYNOS5
+ 	select PINCTRL_EXYNOS
++	select MACH_EXYNOS5_DT
+ 	select PM_GENERIC_DOMAINS if PM
+ 	select S5P_PM if PM
+ 	select S5P_SLEEP if PM
+ 	select S5P_DEV_MFC
+-	select SAMSUNG_DMADEV
++	select SAMSUNG_DMADEV if !ARCH_MULTIPLATFORM
+ 	help
+ 	  Enable EXYNOS5250 SoC support
+ 
+@@ -121,9 +139,7 @@ config MACH_EXYNOS4_DT
+ 	  with this machine file.
+ 
+ config MACH_EXYNOS5_DT
+-	bool "SAMSUNG EXYNOS5 Machine using device tree"
+-	default y
+-	depends on ARCH_EXYNOS5
++	bool
+ 	select ARM_AMBA
+ 	select CLKSRC_OF
+ 	select USB_ARCH_HAS_XHCI
+diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
+index e970a7a..ae397bb 100644
+--- a/arch/arm/mach-exynos/Makefile
++++ b/arch/arm/mach-exynos/Makefile
+diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
+@@ -5,14 +5,11 @@
+ #
+ # Licensed under GPLv2
+ 
+-obj-y				:=
+-obj-m				:=
+-obj-n				:=
+-obj-				:=
++ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung
+ 
+-# Core
++ifdef CONFIG_ARCH_EXYNOS_COMMON
+ 
+-obj-$(CONFIG_ARCH_EXYNOS)	+= common.o
++obj-y                          += pmu.o
+ 
+ obj-$(CONFIG_S5P_PM)		+= pm.o
+ obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o
+@@ -24,8 +21,8 @@
+ 
+ obj-$(CONFIG_HOTPLUG_CPU)	+= hotplug.o
+ 
+-obj-$(CONFIG_ARCH_EXYNOS)	+= exynos-smc.o
+-obj-$(CONFIG_ARCH_EXYNOS)	+= firmware.o
+++obj-y                          += exynos-smc.o
+++obj-y                          += firmware.o
+ 
+ plus_sec := $(call as-instr,.arch_extension sec,+sec)
+ AFLAGS_exynos-smc.o		:=-Wa,-march=armv7-a$(plus_sec)
+@@ -34,3 +31,5 @@
+ 
+ obj-$(CONFIG_MACH_EXYNOS4_DT)		+= mach-exynos4-dt.o
+ obj-$(CONFIG_MACH_EXYNOS5_DT)		+= mach-exynos5-dt.o
++
++endif
+index 3dc5cbe..e61abdc 100644
+--- a/arch/arm/plat-samsung/Kconfig
++++ b/arch/arm/plat-samsung/Kconfig
+@@ -6,7 +6,7 @@
+ 
+ config PLAT_SAMSUNG
+ 	bool
+-	depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
++	depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS_COMMON
+ 	default y
+ 	select GENERIC_IRQ_CHIP
+ 	select NO_IOPORT
+@@ -176,6 +176,7 @@ config S5P_DEV_UART
+ 
+ config S3C_ADC
+ 	bool "ADC common driver support"
++	depends on !ARCH_MULTIPLATFORM
+ 	help
+ 	  Core support for the ADC block found in the Samsung SoC systems
+ 	  for drivers such as the touchscreen and hwmon to use to share
+@@ -396,6 +397,7 @@ config S5P_DEV_USB_EHCI
+ 
+ config S3C24XX_PWM
+ 	bool "PWM device support"
++	depends on !ARCH_MULTIPLATFORM
+ 	select PWM
+ 	select PWM_SAMSUNG
+ 	help
+@@ -453,7 +455,7 @@ comment "Power management"
+ config SAMSUNG_PM_DEBUG
+ 	bool "S3C2410 PM Suspend debug"
+ 	depends on PM
+-	select DEBUG_LL
++	depends on DEBUG_LL && SERIAL_SAMSUNG
+ 	help
+ 	  Say Y here if you want verbose debugging from the PM Suspend and
+ 	  Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
+diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
+index 98d07d8..b458e7d 100644
+--- a/arch/arm/plat-samsung/Makefile
++++ b/arch/arm/plat-samsung/Makefile
+@@ -4,6 +4,9 @@
+ #
+ # Licensed under GPLv2
+ 
++ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include
++ccflags-$(CONFIG_ARCH_EXYNOS_COMMON) += -I$(srctree)/arch/arm/mach-exynos/include
++
+ obj-y				:=
+ obj-m				:=
+ obj-n				:= dummy.o
+diff --git a/arch/arm/plat-samsung/s5p-irq-pm.c b/arch/arm/plat-samsung/s5p-irq-pm.c
+index 7c1e3b7..dc66bb5 100644
+--- a/arch/arm/plat-samsung/s5p-irq-pm.c
++++ b/arch/arm/plat-samsung/s5p-irq-pm.c
+@@ -40,7 +40,7 @@ int s3c_irq_wake(struct irq_data *data, unsigned int state)
+ 	unsigned long irqbit;
+ 	unsigned int irq_rtc_tic, irq_rtc_alarm;
+ 
+-#ifdef CONFIG_ARCH_EXYNOS
++#ifdef CONFIG_ARCH_EXYNOS_COMMON
+ 	if (soc_is_exynos5250()) {
+ 		irq_rtc_tic = EXYNOS5_IRQ_RTC_TIC;
+ 		irq_rtc_alarm = EXYNOS5_IRQ_RTC_ALARM;
+diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
+index 81465c2..6bd8b5a 100644
+--- a/drivers/clocksource/Kconfig
++++ b/drivers/clocksource/Kconfig
+@@ -75,7 +75,7 @@ config CLKSRC_METAG_GENERIC
+ 	  This option enables support for the Meta per-thread timers.
+ 
+ config CLKSRC_EXYNOS_MCT
+-	def_bool y if ARCH_EXYNOS
++	def_bool y if ARCH_EXYNOS_COMMON
+ 	help
+ 	  Support for Multi Core Timer controller on Exynos SoCs.
+ 
+diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
+index de4d5d9..ffe9cb3 100644
+--- a/drivers/cpufreq/Kconfig.arm
++++ b/drivers/cpufreq/Kconfig.arm
+@@ -27,6 +27,7 @@ config ARM_EXYNOS_CPUFREQ
+ 
+ 	  If in doubt, say N.
+ 
++if ARM_EXYNOS_CPUFREQ
+ config ARM_EXYNOS4210_CPUFREQ
+ 	def_bool CPU_EXYNOS4210
+ 	help
+@@ -54,6 +55,7 @@ config ARM_EXYNOS5440_CPUFREQ
+ 	  SoC. The nature of exynos5440 clock controller is
+ 	  different than previous exynos controllers so not using
+ 	  the common exynos framework.
++endif
+ 
+ config ARM_HIGHBANK_CPUFREQ
+ 	tristate "Calxeda Highbank-based"
+diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
+index 31f3adb..15454ad 100644
+--- a/drivers/devfreq/Kconfig
++++ b/drivers/devfreq/Kconfig
+@@ -68,6 +68,7 @@ comment "DEVFREQ Drivers"
+ config ARM_EXYNOS4_BUS_DEVFREQ
+ 	bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
+ 	depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412
++	depends on !ARCH_MULTIPLATFORM
+ 	select ARCH_HAS_OPP
+ 	select DEVFREQ_GOV_SIMPLE_ONDEMAND
+ 	help
+diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
+index 6c6034e..d9ed7c0 100644
+--- a/drivers/iommu/Kconfig
++++ b/drivers/iommu/Kconfig
+@@ -168,7 +168,7 @@ config TEGRA_IOMMU_SMMU
+ 
+ config EXYNOS_IOMMU
+ 	bool "Exynos IOMMU Support"
+-	depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU
++	depends on ARCH_EXYNOS_COMMON && EXYNOS_DEV_SYSMMU
+ 	select IOMMU_API
+ 	help
+ 	  Support for the IOMMU(System MMU) of Samsung Exynos application
+diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
+index 5a8ad51..03688dd 100644
+--- a/drivers/pinctrl/Kconfig
++++ b/drivers/pinctrl/Kconfig
+@@ -252,7 +252,7 @@ config PINCTRL_SAMSUNG
+ 
+ config PINCTRL_EXYNOS
+ 	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
+-	depends on OF && GPIOLIB && ARCH_EXYNOS
++	depends on OF && GPIOLIB && ARCH_EXYNOS_COMMON
+ 	select PINCTRL_SAMSUNG
+ 
+ config PINCTRL_EXYNOS5440
+diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
+index 75840b5..746a931 100644
+--- a/drivers/pwm/Kconfig
++++ b/drivers/pwm/Kconfig
+@@ -140,7 +140,7 @@ config PWM_RENESAS_TPU
+ 
+ config PWM_SAMSUNG
+ 	tristate "Samsung PWM support"
+-	depends on PLAT_SAMSUNG
++	depends on PLAT_SAMSUNG && !ARCH_MULTIPLATFORM
+ 	help
+ 	  Generic PWM framework driver for Samsung.
+ 
+diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
+index 89cbbab..830b8e7 100644
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
+@@ -365,7 +365,7 @@ config SPI_S3C24XX_FIQ
+ 
+ config SPI_S3C64XX
+ 	tristate "Samsung S3C64XX series type SPI"
+-	depends on (ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || ARCH_EXYNOS)
++	depends on (ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || ARCH_EXYNOS_COMMON)
+ 	select S3C64XX_DMA if ARCH_S3C64XX
+ 	help
+ 	  SPI driver for Samsung S3C64XX and newer SoCs.
+diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
+index 4263d01..d7ad720 100644
+--- a/drivers/usb/host/Kconfig
++++ b/drivers/usb/host/Kconfig
+@@ -462,7 +462,7 @@ config USB_OHCI_SH
+ 
+ config USB_OHCI_EXYNOS
+ 	boolean "OHCI support for Samsung EXYNOS SoC Series"
+-	depends on ARCH_EXYNOS
++	depends on ARCH_EXYNOS_COMMON
+ 	help
+ 	 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
+ 
+diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
+index 2c301f8..0ba3e03 100644
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -2039,7 +2039,7 @@ config FB_TMIO_ACCELL
+ config FB_S3C
+ 	tristate "Samsung S3C framebuffer support"
+ 	depends on FB && (CPU_S3C2416 || ARCH_S3C64XX || ARCH_S5P64X0 || \
+-		ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
++		ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS_COMMON)
+ 	select FB_CFB_FILLRECT
+ 	select FB_CFB_COPYAREA
+ 	select FB_CFB_IMAGEBLIT
+diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
+index b8abda5..216af14 100644
+--- a/drivers/video/exynos/Kconfig
++++ b/drivers/video/exynos/Kconfig
+@@ -15,7 +15,7 @@ if EXYNOS_VIDEO
+ 
+ config EXYNOS_MIPI_DSI
+ 	bool "EXYNOS MIPI DSI driver support."
+-	depends on ARCH_S5PV210 || ARCH_EXYNOS
++	depends on ARCH_S5PV210 || ARCH_EXYNOS_COMMON
+ 	help
+ 	  This enables support for MIPI-DSI device.
+ 
+@@ -29,7 +29,7 @@ config EXYNOS_LCD_S6E8AX0
+ 
+ config EXYNOS_DP
+ 	bool "EXYNOS DP driver support"
+-	depends on ARCH_EXYNOS
++	depends on ARCH_EXYNOS_COMMON
+ 	default n
+ 	help
+ 	  This enables support for DP device.
+diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
+index 9855dfc..fcb2045 100644
+--- a/sound/soc/samsung/Kconfig
++++ b/sound/soc/samsung/Kconfig
+@@ -1,6 +1,6 @@
+ config SND_SOC_SAMSUNG
+ 	tristate "ASoC support for Samsung"
+-	depends on PLAT_SAMSUNG
++	depends on PLAT_SAMSUNG && !ARCH_MULTIPLATFORM
+ 	select S3C64XX_DMA if ARCH_S3C64XX
+ 	select S3C2410_DMA if ARCH_S3C24XX
+ 	help
diff --git a/config-arm-generic b/config-arm-generic
index 7e64c17..3bda9fb 100644
--- a/config-arm-generic
+++ b/config-arm-generic
@@ -1,48 +1,49 @@
 CONFIG_KUSER_HELPERS=y
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_ARM_ARCH_TIMER=y
-# CONFIG_ARM_DT_BL_CPUFREQ is not set
-CONFIG_ARM_AMBA=y
-CONFIG_ARM_GIC=y
 # CONFIG_ASYMMETRIC_KEY_TYPE is not set
-CONFIG_BACKLIGHT_PWM=m
 # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
 # CONFIG_COMMON_CLK_DEBUG is not set
 CONFIG_COMMON_CLK=y
-CONFIG_DMA_OF=y
-CONFIG_DTC=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_ETHERNET=y
 CONFIG_FB_SSD1307=m
-CONFIG_GENERIC_GPIO=y
-CONFIG_GPIOLIB=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_HW_PERF_EVENTS=y
-# CONFIG_I2C_NOMADIK is not set
-CONFIG_INPUT_PWM_BEEPER=m
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
-# CONFIG_LEDS_RENESAS_TPU is not set
-CONFIG_MMC_ARMMMCI=y
-# CONFIG_MMC_SDHCI_PXAV2 is not set
-# CONFIG_MMC_SDHCI_PXAV3 is not set
 CONFIG_MMC=y
 CONFIG_NFS_FS=y
-CONFIG_NLS_ISO8859_1=y
 CONFIG_NO_HZ=y
 CONFIG_PERF_EVENTS=y
 # CONFIG_PID_IN_CONTEXTIDR is not set
 CONFIG_PWM=y
 CONFIG_RCU_FANOUT_LEAF=16
 # CONFIG_RTC_DRV_SNVS is not set
+CONFIG_BACKLIGHT_PWM=m
+CONFIG_INPUT_PWM_BEEPER=m
+CONFIG_ARM_SP805_WATCHDOG=m
+CONFIG_ARM_ARCH_TIMER=y
+# CONFIG_ARM_DT_BL_CPUFREQ is not set
+CONFIG_NR_CPUS=8
+
+# ARM generic HW
+CONFIG_ARM_AMBA=y
+CONFIG_ARM_GIC=y
+CONFIG_MMC_ARMMMCI=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_ARM_SP805_WATCHDOG=m
+CONFIG_SERIO_AMBAKMI=y
 
 # ARM VExpress
-CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_ARCH_VEXPRESS=y
 CONFIG_VEXPRESS_CONFIG=y
+CONFIG_COMMON_CLK_VERSATILE=y
+CONFIG_I2C_VERSATILE=m
+CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_REGULATOR_VEXPRESS=m
+CONFIG_SENSORS_VEXPRESS=m
 
 # Device tree
+CONFIG_DTC=y
+CONFIG_DMA_OF=y
+CONFIG_PROC_DEVICETREE=y
 CONFIG_OF=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_DEVICE=y
@@ -57,6 +58,7 @@ CONFIG_OF_NET=y
 CONFIG_OF_PCI_IRQ=m
 CONFIG_OF_PCI=m
 # CONFIG_OF_SELFTEST is not set
+CONFIG_SERIAL_OF_PLATFORM=m
 
 # MTD
 CONFIG_MTD_BLKDEVS=m
@@ -74,7 +76,18 @@ CONFIG_MTD_PHYSMAP_OF=m
 CONFIG_OF_MTD=y
 
 # GPIO
+CONFIG_GENERIC_GPIO=y
+CONFIG_GPIOLIB=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 CONFIG_MDIO_GPIO=m
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_RFKILL_GPIO=m
+
+# MFD
+CONFIG_MFD_CORE=m
+
+CONFIG_SMC91X=m
+CONFIG_SMC911X=m
 
 # CONFIG_CRYPTO_TEST is not set
 # CONFIG_TRANSPARENT_HUGEPAGE is not set
@@ -83,5 +96,10 @@ CONFIG_MDIO_GPIO=m
 # CONFIG_DRM_SHMOBILE is not set
 # CONFIG_MMC_DW_SOCFPGA is not set
 # CONFIG_ARM_SMMU is not set
-
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+# CONFIG_LEDS_RENESAS_TPU is not set
+# CONFIG_MMC_SDHCI_PXAV2 is not set
+# CONFIG_MMC_SDHCI_PXAV3 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
 # CONFIG_LOCK_STAT is not set
diff --git a/config-arm64 b/config-arm64
index 42f858b..018246b 100644
--- a/config-arm64
+++ b/config-arm64
@@ -1,422 +1,80 @@
 CONFIG_64BIT=y
-CONFIG_AIO=y
+CONFIG_ARM64=y
+
+# arm64 only SoCs
+CONFIG_ARCH_XGENE=y
+
 # CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set
 # CONFIG_AMBA_PL08X is not set
-CONFIG_ANON_INODES=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
 CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
 CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_VEXPRESS=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_ARCH_XGENE=y
 CONFIG_ARM64_64K_PAGES=y
-CONFIG_ARM64=y
 # CONFIG_ARM_DT_BL_CPUFREQ is not set
 CONFIG_ARM_SMMU=y
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_ASYNC_XOR=m
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K_HW=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_AUDIT_GENERIC=y
-CONFIG_AVERAGE=y
-CONFIG_BASE_FULL=y
-CONFIG_BASE_SMALL=0
+
 CONFIG_BCMA_POSSIBLE=y
-# CONFIG_BINARY_PRINTF is not set
-CONFIG_BITREVERSE=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLOCK=y
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
 CONFIG_BQL=y
 CONFIG_BRCMUTIL=m
 CONFIG_BUG=y
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
 CONFIG_CLKDEV_LOOKUP=y
-CONFIG_CLONE_BACKWARDS=y
 CONFIG_CMDLINE="console=ttyAMA0"
 # CONFIG_CMDLINE_FORCE is not set
-CONFIG_COMMON_CLK_SI5351=y
-CONFIG_COMMON_CLK_VERSATILE=y
 CONFIG_CONSOLE_TRANSLATIONS=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_COREDUMP=y
-CONFIG_CPU_RMAP=y
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_SLICEBY4 is not set
-CONFIG_CRC32_SLICEBY8=y
-CONFIG_CRC32=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CUSE=y
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DEFAULT_CUBIC=y
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_DEFAULT_NOOP is not set
-# CONFIG_DEFAULT_RENO is not set
-# CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="selinux"
-CONFIG_DEFAULT_SECURITY_SELINUX=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_DMADEVICES_DEBUG is not set
-CONFIG_DMA_SHARED_BUFFER=y
-CONFIG_DM_BIO_PRISON=m
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DNS_RESOLVER=y
-CONFIG_DQL=y
-# CONFIG_DRBD_FAULT_INJECTION is not set
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_ELF_CORE=y
-CONFIG_EVENTFD=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_FAT_FS=y
-# CONFIG_FAULT_INJECTION is not set
+
 CONFIG_FB_ARMCLCD=y
-CONFIG_FIB_RULES=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_FTRACE is not set
-CONFIG_FUSE_FS=y
-CONFIG_GARP=m
 CONFIG_GENERIC_ACL=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-# CONFIG_GENERIC_CPU_DEVICES is not set
 CONFIG_GENERIC_CSUM=y
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_IOMAP=y
 CONFIG_GENERIC_IO=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
 CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-# CONFIG_GIGASET_DUMMYLL is not set
-# CONFIG_GIGASET_I4L is not set
-# CONFIG_GPIO_ADNP is not set
 CONFIG_GPIO_DEVRES=y
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_MCP23S08 is not set
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_HAS_DMA=y
-CONFIG_HAS_IOMEM=y
 CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
-# CONFIG_HAVE_AOUT is not set
 CONFIG_HAVE_ARCH_PFN_VALID=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DEBUG_BUGVERBOSE=y
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MEMBLOCK=y
 CONFIG_HAVE_MEMORY_PRESENT=y
 CONFIG_HAVE_NET_DSA=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_HDMI=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_MAGICMOUSE=m
 # CONFIG_HUGETLB_PAGE is not set
 CONFIG_HVC_DRIVER=y
-# CONFIG_HWMON is not set
-# CONFIG_HW_RANDOM is not set
 CONFIG_HZ=100
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SI4713=m
-CONFIG_I2C_SMBUS=m
-# CONFIG_I2C_VERSATILE is not set
-CONFIG_IKCONFIG_PROC=y
-CONFIG_IKCONFIG=y
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET_DCCP_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_IOMMU_SUPPORT is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-CONFIG_IP_ROUTE_CLASSID=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IRQCHIP=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_WORK=y
-# CONFIG_JBD2_DEBUG is not set
+
 # CONFIG_KVM is not set
-CONFIG_LEDS_LP55XX_COMMON=m
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_LOCKD=y
-# CONFIG_LOCK_STAT is not set
 CONFIG_LOG_BUF_SHIFT=14
-CONFIG_LRU_CACHE=m
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_MAC80211_HAS_RC=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-CONFIG_MEDIA_COMMON_OPTIONS=y
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_XC5000=m
-# CONFIG_MEMCG_SWAP_ENABLED is not set
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_MII=y
-# CONFIG_MISC_FILESYSTEMS is not set
-CONFIG_MM_OWNER=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_CYPRESS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MRP=m
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-# CONFIG_NET_CADENCE is not set
-CONFIG_NET_CORE=y
-CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
-CONFIG_NET_DSA_TAG_DSA=y
-CONFIG_NET_DSA_TAG_EDSA=y
-CONFIG_NET_DSA_TAG_TRAILER=y
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETPOLL=y
-CONFIG_NET_SCH_FIFO=y
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NETWORK_SECMARK=y
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_NF_CONNTRACK_LABELS=y
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_NF_NAT_TFTP=m
+
 CONFIG_NFS_ACL_SUPPORT=y
 CONFIG_NFS_COMMON=y
 CONFIG_NFS_DEBUG=y
 # CONFIG_NFSD_FAULT_INJECTION is not set
 CONFIG_NFSD_V2_ACL=y
 CONFIG_NFS_USE_KERNEL_DNS=y
-CONFIG_NLATTR=y
-CONFIG_NO_BOOTMEM=y
-CONFIG_NO_IOPORT=y
-CONFIG_NR_CPUS=4
-CONFIG_PADATA=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_PANIC_ON_OOPS_VALUE=0
-# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PERF_USE_VMALLOC=y
-CONFIG_PHYS_ADDR_T_64BIT=y
 # CONFIG_PL330_DMA is not set
-CONFIG_PNFS_FILE_LAYOUT=m
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_POWER_RESET_GPIO is not set
-CONFIG_POWER_RESET_VEXPRESS=y
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PREEMPT_RCU is not set
-CONFIG_PRINTK=y
-# CONFIG_PROC_DEVICETREE is not set
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-CONFIG_RAID6_PQ=m
 CONFIG_RCU_FANOUT=64
-CONFIG_RCU_STALL_COMMON=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_GZIP=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-CONFIG_RD_XZ=y
-CONFIG_REGMAP_I2C=m
-CONFIG_REGMAP=y
-# CONFIG_RFKILL_GPIO is not set
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_RPS=y
 # CONFIG_RTC_DRV_PL030 is not set
 # CONFIG_RTC_DRV_PL031 is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTLWIFI_DEBUG is not set
-CONFIG_RT_MUTEXES=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_MOD=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_SERIAL_8250_DMA=y
 # CONFIG_SERIAL_AMBA_PL010 is not set
-CONFIG_SERIAL_OF_PLATFORM=m
-CONFIG_SERIO_AMBAKMI=y
-# CONFIG_SERIO_I8042 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SHMEM=y
-CONFIG_SIGNALFD=y
-CONFIG_SLABINFO=y
-# CONFIG_SLAB is not set
-CONFIG_SLHC=m
-# CONFIG_SLUB_DEBUG_ON is not set
-CONFIG_SLUB_DEBUG=y
-CONFIG_SMC91X=y
 CONFIG_SPARSE_IRQ=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
 CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_SPARSEMEM=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_POSSIBLE=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_STACKTRACE_SUPPORT=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_STMMAC_RING=y
-CONFIG_STOP_MACHINE=y
-CONFIG_STP=m
+
 CONFIG_SWIOTLB=y
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_SYSFS=y
 # CONFIG_SYS_HYPERVISOR is not set
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_TEST_LIST_SORT is not set
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH=y
 # CONFIG_THERMAL is not set
-CONFIG_TICK_CPU_ACCOUNTING=y
-CONFIG_TICK_ONESHOT=y
-CONFIG_TIMERFD=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_TREE_RCU=y
-# CONFIG_TTPCI_EEPROM is not set
-CONFIG_TTY=y
-CONFIG_UDF_NLS=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB_ARCH_HAS_HCD is not set
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-# CONFIG_USB_ARCH_HAS_XHCI is not set
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_VEXPRESS_CONFIG=y
-CONFIG_VFAT_FS=y
-# CONFIG_VGA_CONSOLE is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_IR_I2C=m
-CONFIG_VIDEO_V4L2=m
 CONFIG_VIRTUALIZATION=y
 CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WIZNET_BUS_ANY=y
-# CONFIG_WIZNET_BUS_DIRECT is not set
-# CONFIG_WIZNET_BUS_INDIRECT is not set
-CONFIG_XFRM_ALGO=y
-CONFIG_XFRM_IPCOMP=m
-CONFIG_XOR_BLOCKS=m
-CONFIG_XPS=y
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_ZONE_DMA32=y
-CONFIG_ZONE_DMA_FLAG=0
+
+# not arm64
+# CONFIG_HW_RANDOM_ATMEL is not set
+# CONFIG_HW_RANDOM_EXYNOS is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
 
 # busted build for various reasons
 #  uses pci_* for some reason to allocate DMA buffers
@@ -424,4 +82,3 @@ CONFIG_ZONE_DMA_FLAG=0
 #  weird include chain resulting in missing u64 type
 # CONFIG_USB_SPEEDTOUCH is not set
 #  dma issues in headers
-# CONFIG_USB_XHCI_HCD is not set
diff --git a/config-armv7 b/config-armv7
index df8a264..1140228 100644
--- a/config-armv7
+++ b/config-armv7
@@ -1,24 +1,17 @@
 # ARM unified arch kernel
 
-# CONFIG_ARCH_BCM is not set
-CONFIG_ARCH_HIGHBANK=y
+# CONFIG_ARCH_EXYNOS_MULTI is not set
 # CONFIG_ARCH_KEYSTONE is not set
 CONFIG_ARCH_MVEBU=y
 CONFIG_ARCH_MXC=y
 CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_ARCH_PICOXCELL=y
 CONFIG_ARCH_ROCKCHIP=y
-# CONFIG_ARCH_SIRF is not set
 CONFIG_ARCH_SOCFPGA=y
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_ARCH_STI is not set
 CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_TEGRA=y
 # CONFIG_ARCH_U8500 is not set
-CONFIG_ARCH_VEXPRESS_CA9X4=y
-CONFIG_ARCH_VEXPRESS=y
 # CONFIG_ARCH_VIRT is not set
-# CONFIG_ARCH_WM8850 is not set
 CONFIG_ARCH_ZYNQ=y
 
 # These are supported in the LPAE kernel
@@ -30,16 +23,7 @@ CONFIG_ARCH_ZYNQ=y
 # Generic
 CONFIG_REMOTEPROC=m
 
-# highbank
-# 2013/04/19 - stability issues
-# CONFIG_CPU_IDLE_CALXEDA is not set
-CONFIG_EDAC_HIGHBANK_MC=m
-CONFIG_EDAC_HIGHBANK_L2=m
-CONFIG_SATA_HIGHBANK=m
-CONFIG_ARM_HIGHBANK_CPUFREQ=m
-
-# versatile
-CONFIG_VEXPRESS_CONFIG=y
+# FIXME should be generic (I think it's enabled by default)
 CONFIG_FB=y
 CONFIG_FB_ARMCLCD=m
 CONFIG_FB_CFB_COPYAREA=m
@@ -48,7 +32,6 @@ CONFIG_FB_CFB_IMAGEBLIT=m
 CONFIG_TOUCHSCREEN_ADS7846=m
 
 CONFIG_OC_ETM=y
-CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
 
 # mvebu
 CONFIG_MACH_ARMADA_370_XP=y
@@ -554,7 +537,6 @@ CONFIG_MMC_SDHCI_PXAV3=m
 CONFIG_MMC_SDHCI_PXAV2=m
 
 # Multi function devices
-CONFIG_MFD_CORE=m
 CONFIG_MFD_88PM800=m
 CONFIG_MFD_88PM805=m
 CONFIG_MFD_T7L66XB=y
@@ -618,7 +600,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
 # CONFIG_ARM_CHARLCD is not set
 # CONFIG_MTD_AFS_PARTS is not set
 # CONFIG_IP_PNP_RARP is not set
-# CONFIG_ASYMMETRIC_KEY_TYPE is not set
 # CONFIG_PID_IN_CONTEXTIDR is not set
 # CONFIG_DEPRECATED_PARAM_STRUCT is not set
 
diff --git a/config-armv7-generic b/config-armv7-generic
index 113fea7..72ae5b2 100644
--- a/config-armv7-generic
+++ b/config-armv7-generic
@@ -46,6 +46,25 @@ CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y
 # CONFIG_XIP_KERNEL is not set
 # CONFIG_ARM_VIRT_EXT is not set
 
+# Platforms enabled/disabled globally on ARMv7
+CONFIG_ARCH_HIGHBANK=y
+CONFIG_ARCH_VEXPRESS_CA9X4=y
+CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
+# CONFIG_ARCH_BCM is not set
+# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_STI is not set
+# CONFIG_ARCH_SIRF is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_WM8850 is not set
+
+# highbank
+# 2013/04/19 - stability issues
+# CONFIG_CPU_IDLE_CALXEDA is not set
+CONFIG_EDAC_HIGHBANK_MC=m
+CONFIG_EDAC_HIGHBANK_L2=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_ARM_HIGHBANK_CPUFREQ=m
+
 # errata
 # v5/v6
 # CONFIG_ARM_ERRATA_326103 is not set
@@ -77,7 +96,6 @@ CONFIG_PJ4B_ERRATA_4742=y
 
 # generic that deviates from or should be merged into config-generic
 CONFIG_SMP=y
-CONFIG_NR_CPUS=8
 CONFIG_SMP_ON_UP=y
 CONFIG_HIGHMEM=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -120,7 +138,6 @@ CONFIG_IP_PNP_BOOTP=y
 
 # Root as NFS, different from mainline
 CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
 
 CONFIG_LBDAF=y
 
@@ -128,8 +145,6 @@ CONFIG_LBDAF=y
 CONFIG_USE_OF=y
 CONFIG_ARM_ATAG_DTB_COMPAT=y
 CONFIG_ARM_APPENDED_DTB=y
-CONFIG_PROC_DEVICETREE=y
-CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_I2C_MUX_PINCTRL=m
 
 # General vexpress ARM drivers
@@ -147,11 +162,8 @@ CONFIG_RTC_DRV_PL031=y
 CONFIG_PL330_DMA=m
 CONFIG_AMBA_PL08X=y
 CONFIG_ARM_SP805_WATCHDOG=m
-CONFIG_I2C_VERSATILE=m
 CONFIG_GPIO_PL061=y
-CONFIG_SENSORS_VEXPRESS=m
 CONFIG_FB_ARMCLCD=m
-CONFIG_REGULATOR_VEXPRESS=m
 
 # usb
 CONFIG_USB_OTG=y
@@ -160,8 +172,6 @@ CONFIG_USB_OTG=y
 CONFIG_USB_ULPI=y
 CONFIG_AX88796=m
 CONFIG_AX88796_93CX6=y
-CONFIG_SMC91X=m
-CONFIG_SMC911X=m
 CONFIG_USB_ISP1760_HCD=m
 # CONFIG_USB_EHCI_HCD_ORION is not set
 
@@ -188,7 +198,6 @@ CONFIG_EXTCON_GPIO=m
 CONFIG_GPIO_ADNP=m
 CONFIG_GPIO_MCP23S08=m
 CONFIG_POWER_RESET_GPIO=y
-CONFIG_RFKILL_GPIO=m
 CONFIG_SERIAL_8250_EM=m
 CONFIG_INPUT_GPIO_TILT_POLLED=m
 CONFIG_MDIO_BUS_MUX_GPIO=m
@@ -403,7 +412,6 @@ CONFIG_UBIFS_FS_ZLIB=y
 
 # Should be in generic
 CONFIG_BPF_JIT=y
-# CONFIG_NET_VENDOR_BROADCOM is not set
 # CONFIG_NET_VENDOR_CIRRUS is not set
 # CONFIG_NET_VENDOR_MICROCHIP is not set
 
@@ -432,7 +440,6 @@ CONFIG_BPF_JIT=y
 # CONFIG_SERIAL_MAX3100 is not set
 # CONFIG_SERIAL_MAX310X is not set
 # CONFIG_SERIAL_IFX6X60 is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
 # CONFIG_COMMON_CLK_AXI_CLKGEN is not set
 # CONFIG_SPI_TOPCLIFF_PCH is not set
 # CONFIG_SPI_PXA2XX is not set
diff --git a/config-armv7-lpae b/config-armv7-lpae
index 6397847..8fb5883 100644
--- a/config-armv7-lpae
+++ b/config-armv7-lpae
@@ -1,9 +1,24 @@
-# ARM unified arch kernel
-CONFIG_ARCH_EXYNOS=y
+# ARM A15 lpae unified arch kernel
+CONFIG_ARCH_EXYNOS_MULTI=y
+CONFIG_ARCH_KEYSTONE=y
 CONFIG_ARCH_VIRT=y
+CONFIG_ARCH_EXYNOS5=y
+
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_SOC_OMAP5 is not set
+# CONFIG_SOC_AM33XX is not set
+# CONFIG_SOC_AM43XX is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_ZYNQ is not set
+
 
 # CONFIG_ARCH_EXYNOS4 is not set
-CONFIG_ARCH_EXYNOS5=y
 
 # CONFIG_EXYNOS_ATAGS is not set
 
@@ -46,7 +61,6 @@ CONFIG_XEN_WDT=m
 CONFIG_MACH_EXYNOS5_DT=y
 CONFIG_SERIAL_SAMSUNG=y
 CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_SERIAL_OF_PLATFORM=y
 # CONFIG_SAMSUNG_PM_DEBUG is not set
 # CONFIG_SAMSUNG_PM_CHECK is not set
 CONFIG_SOC_EXYNOS5250=y
@@ -120,3 +134,4 @@ CONFIG_S3C_LOWLEVEL_UART_PORT=1
 # CONFIG_I2C_S3C2410 is not set
 # CONFIG_S3C2410_WATCHDOG is not set
 # CONFIG_MMC_SDHCI_S3C is not set
+# CONFIG_TEGRA_HOST1X is not set
diff --git a/config-generic b/config-generic
index 051106b..786cd83 100644
--- a/config-generic
+++ b/config-generic
@@ -1581,6 +1581,7 @@ CONFIG_AT76C50X_USB=m
 # CONFIG_AIRO is not set
 # CONFIG_AIRO_CS is not set
 # CONFIG_ATMEL is not set
+CONFIG_NET_VENDOR_BROADCOM=y
 CONFIG_B43=m
 CONFIG_B43_PCMCIA=y
 CONFIG_B43_SDIO=y
diff --git a/config-s390x b/config-s390x
index e1e06a5..4cbd971 100644
--- a/config-s390x
+++ b/config-s390x
@@ -241,7 +241,6 @@ CONFIG_STRICT_DEVMEM=y
 # CONFIG_WARN_DYNAMIC_STACK is not set
 
 CONFIG_CRYPTO_GHASH_S390=m
-CONFIG_NET_CORE=y
 CONFIG_ETHERNET=y
 
 CONFIG_BPF_JIT=y
diff --git a/kernel.spec b/kernel.spec
index 5ebe9f2..0db387a 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -695,6 +695,7 @@ Patch15000: nowatchdog-on-virt.patch
 Patch21001: arm-lpae-ax88796.patch
 Patch21003: arm-dma-amba_pl08x-avoid-64bit-division.patch
 Patch21004: arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
+Patch21005: arm-exynos-mp.patch
 
 # ARM omap
 Patch21010: arm-omap-load-tfp410.patch
@@ -1306,6 +1307,7 @@ ApplyPatch debug-bad-pte-modules.patch
 ApplyPatch arm-lpae-ax88796.patch
 ApplyPatch arm-dma-amba_pl08x-avoid-64bit-division.patch
 ApplyPatch arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
+ApplyPatch arm-exynos-mp.patch
 ApplyPatch arm-omap-load-tfp410.patch
 ApplyPatch arm-tegra-usb-no-reset-linux33.patch
 ApplyPatch arm-tegra-remove-direct-vbus-regulator-control.patch
@@ -2251,6 +2253,11 @@ fi
 #                 ||----w |
 #                 ||     ||
 %changelog
+* Thu Aug 15 2013 Peter Robinson <pbrobinson at fedoraproject.org>
+- Major cleanup of arm64 config
+- Add patch to enable build exynos5 as multi platform for lpae
+- Minor cleanup of ARMv7 configs
+
 * Thu Aug 15 2013 Josh Boyer <jwboyer at redhat.com> - 3.11.0-0.rc5.git3.1
 - Enable CONFIG_HID_SENSOR_HUB (rhbz 995510)
 - Add patch to fix regression on TeVII S471 devices (rhbz 963715)


More information about the scm-commits mailing list