Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Arnd Bergmann:
"A first set of bug fixes that didn't make it for the merge window, and
two Kconfig cleanups that still make sense at this point.

Unfortunately, one of the two cleanups caused an unintended change in
the original version, so we had to revert one part of it and do some
more testing to ensure the rest is really fine. There was also a
last-minute rebase of the patches to remove another bad commit"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: use menuconfig for sub-arch menus
ARM: multi_v7_defconfig: re-enable SDHCI drivers
ARM: EXYNOS: Fix compilation warning
ARM: exynos: move sysram info to exynos.c
ARM: dts: Specify the NAND ECC scheme explicitly on Armada 385 DB board
ARM: dts: Specify the NAND ECC scheme explicitly on Armada 375 DB board
ARM: exynos: cleanup kconfig option display
misc: vexpress: fix error handling vexpress_syscfg_regmap_init()
ARM: Remove ARCH_HAS_CPUFREQ config option
ARM: integrator: fix section mismatch problem
ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size
ARM: samsung: make SAMSUNG_DMADEV optional
remoteproc: da8xx: don't select CMA on no-MMU
bus/arm-cci: add dependency on OF && CPU_V7
ARM: keystone requires ARM_PATCH_PHYS_VIRT
ARM: omap2: fix am43xx dependency on l2x0 cache

+123 -158
+1 -19
arch/arm/Kconfig
··· 175 175 config ARCH_HAS_ILOG2_U64 176 176 bool 177 177 178 - config ARCH_HAS_CPUFREQ 179 - bool 180 - help 181 - Internal node to signify that the ARCH has CPUFREQ support 182 - and that the relevant menu configurations are displayed for 183 - it. 184 - 185 178 config ARCH_HAS_BANDGAP 186 179 bool 187 180 ··· 311 318 312 319 config ARCH_INTEGRATOR 313 320 bool "ARM Ltd. Integrator family" 314 - select ARCH_HAS_CPUFREQ 315 321 select ARM_AMBA 316 322 select ARM_PATCH_PHYS_VIRT 317 323 select AUTO_ZRELADDR ··· 530 538 531 539 config ARCH_KIRKWOOD 532 540 bool "Marvell Kirkwood" 533 - select ARCH_HAS_CPUFREQ 534 541 select ARCH_REQUIRE_GPIOLIB 535 542 select CPU_FEROCEON 536 543 select GENERIC_CLOCKEVENTS ··· 628 637 config ARCH_PXA 629 638 bool "PXA2xx/PXA3xx-based" 630 639 depends on MMU 631 - select ARCH_HAS_CPUFREQ 632 640 select ARCH_MTD_XIP 633 641 select ARCH_REQUIRE_GPIOLIB 634 642 select ARM_CPU_SUSPEND if PM ··· 697 707 698 708 config ARCH_SA1100 699 709 bool "SA1100-based" 700 - select ARCH_HAS_CPUFREQ 701 710 select ARCH_MTD_XIP 702 711 select ARCH_REQUIRE_GPIOLIB 703 712 select ARCH_SPARSEMEM_ENABLE ··· 714 725 715 726 config ARCH_S3C24XX 716 727 bool "Samsung S3C24XX SoCs" 717 - select ARCH_HAS_CPUFREQ 718 728 select ARCH_REQUIRE_GPIOLIB 719 729 select ATAGS 720 730 select CLKDEV_LOOKUP ··· 734 746 735 747 config ARCH_S3C64XX 736 748 bool "Samsung S3C64XX" 737 - select ARCH_HAS_CPUFREQ 738 749 select ARCH_REQUIRE_GPIOLIB 739 750 select ARM_AMBA 740 751 select ARM_VIC ··· 796 809 797 810 config ARCH_S5PV210 798 811 bool "Samsung S5PV210/S5PC110" 799 - select ARCH_HAS_CPUFREQ 800 812 select ARCH_HAS_HOLES_MEMORYMODEL 801 813 select ARCH_SPARSEMEM_ENABLE 802 814 select ATAGS ··· 831 845 config ARCH_OMAP1 832 846 bool "TI OMAP1" 833 847 depends on MMU 834 - select ARCH_HAS_CPUFREQ 835 848 select ARCH_HAS_HOLES_MEMORYMODEL 836 849 select ARCH_OMAP 837 850 select ARCH_REQUIRE_GPIOLIB ··· 994 1009 995 1010 source "arch/arm/mach-sa1100/Kconfig" 996 1011 997 - source "arch/arm/plat-samsung/Kconfig" 998 - 999 1012 source "arch/arm/mach-socfpga/Kconfig" 1000 1013 1001 1014 source "arch/arm/mach-spear/Kconfig" ··· 1011 1028 source "arch/arm/mach-s5pv210/Kconfig" 1012 1029 1013 1030 source "arch/arm/mach-exynos/Kconfig" 1031 + source "arch/arm/plat-samsung/Kconfig" 1014 1032 1015 1033 source "arch/arm/mach-shmobile/Kconfig" 1016 1034 ··· 2093 2109 2094 2110 menu "CPU Power Management" 2095 2111 2096 - if ARCH_HAS_CPUFREQ 2097 2112 source "drivers/cpufreq/Kconfig" 2098 - endif 2099 2113 2100 2114 source "drivers/cpuidle/Kconfig" 2101 2115
+2
arch/arm/boot/dts/armada-375-db.dts
··· 91 91 marvell,nand-keep-config; 92 92 marvell,nand-enable-arbiter; 93 93 nand-on-flash-bbt; 94 + nand-ecc-strength = <4>; 95 + nand-ecc-step-size = <512>; 94 96 95 97 partition@0 { 96 98 label = "U-Boot";
+2
arch/arm/boot/dts/armada-385-db.dts
··· 98 98 marvell,nand-keep-config; 99 99 marvell,nand-enable-arbiter; 100 100 nand-on-flash-bbt; 101 + nand-ecc-strength = <4>; 102 + nand-ecc-step-size = <512>; 101 103 102 104 partition@0 { 103 105 label = "U-Boot";
+1 -1
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
··· 25 25 26 26 memory { 27 27 device_type = "memory"; 28 - reg = <0 0x00000000 0 0xC0000000>; /* 3 GB */ 28 + reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */ 29 29 }; 30 30 31 31 soc {
+1
arch/arm/configs/multi_v7_defconfig
··· 300 300 CONFIG_MMC_BLOCK_MINORS=16 301 301 CONFIG_MMC_ARMMMCI=y 302 302 CONFIG_MMC_SDHCI=y 303 + CONFIG_MMC_SDHCI_PLTFM=y 303 304 CONFIG_MMC_SDHCI_OF_ARASAN=y 304 305 CONFIG_MMC_SDHCI_ESDHC_IMX=y 305 306 CONFIG_MMC_SDHCI_DOVE=y
+1
arch/arm/configs/omap2plus_defconfig
··· 32 32 CONFIG_SOC_AM33XX=y 33 33 CONFIG_SOC_AM43XX=y 34 34 CONFIG_SOC_DRA7XX=y 35 + CONFIG_CACHE_L2X0=y 35 36 CONFIG_ARM_THUMBEE=y 36 37 CONFIG_ARM_ERRATA_411920=y 37 38 CONFIG_SMP=y
+3 -4
arch/arm/mach-bcm/Kconfig
··· 1 - config ARCH_BCM 1 + menuconfig ARCH_BCM 2 2 bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7 3 3 help 4 4 This enables support for Broadcom ARM based SoC chips 5 5 6 - menu "Broadcom SoC Selection" 7 - depends on ARCH_BCM 6 + if ARCH_BCM 8 7 9 8 config ARCH_BCM_MOBILE 10 9 bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7 ··· 87 88 different SoC or with the older BCM47XX and BCM53XX based 88 89 network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx 89 90 90 - endmenu 91 + endif
+1 -5
arch/arm/mach-berlin/Kconfig
··· 1 - config ARCH_BERLIN 1 + menuconfig ARCH_BERLIN 2 2 bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 3 3 select ARCH_REQUIRE_GPIOLIB 4 4 select ARM_GIC ··· 8 8 select PINCTRL 9 9 10 10 if ARCH_BERLIN 11 - 12 - menu "Marvell Berlin SoC variants" 13 11 14 12 config MACH_BERLIN_BG2 15 13 bool "Marvell Armada 1500 (BG2)" ··· 27 29 select CACHE_L2X0 28 30 select HAVE_ARM_TWD if SMP 29 31 select PINCTRL_BERLIN_BG2Q 30 - 31 - endmenu 32 32 33 33 endif
+3 -4
arch/arm/mach-cns3xxx/Kconfig
··· 1 - config ARCH_CNS3XXX 1 + menuconfig ARCH_CNS3XXX 2 2 bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 3 3 select ARM_GIC 4 4 select PCI_DOMAINS if PCI 5 5 help 6 6 Support for Cavium Networks CNS3XXX platform. 7 7 8 - menu "CNS3XXX platform type" 9 - depends on ARCH_CNS3XXX 8 + if ARCH_CNS3XXX 10 9 11 10 config MACH_CNS3420VB 12 11 bool "Support for CNS3420 Validation Board" ··· 16 17 This is a platform with an on-board ARM11 MPCore and has support 17 18 for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc. 18 19 19 - endmenu 20 + endif
-1
arch/arm/mach-davinci/Kconfig
··· 39 39 config ARCH_DAVINCI_DA850 40 40 bool "DA850/OMAP-L138/AM18x based system" 41 41 select ARCH_DAVINCI_DA8XX 42 - select ARCH_HAS_CPUFREQ 43 42 select CP_INTC 44 43 45 44 config ARCH_DAVINCI_DA8XX
+1 -6
arch/arm/mach-exynos/Kconfig
··· 7 7 8 8 # Configuration options for the EXYNOS4 9 9 10 - config ARCH_EXYNOS 10 + menuconfig ARCH_EXYNOS 11 11 bool "Samsung EXYNOS" if ARCH_MULTI_V7 12 12 select ARCH_HAS_BANDGAP 13 - select ARCH_HAS_CPUFREQ 14 13 select ARCH_HAS_HOLES_MEMORYMODEL 15 14 select ARCH_REQUIRE_GPIOLIB 16 15 select ARM_AMBA ··· 28 29 Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5) 29 30 30 31 if ARCH_EXYNOS 31 - 32 - menu "SAMSUNG EXYNOS SoCs Support" 33 32 34 33 config ARCH_EXYNOS3 35 34 bool "SAMSUNG EXYNOS3" ··· 114 117 bool "SAMSUNG EXYNOS5800" 115 118 default y 116 119 depends on SOC_EXYNOS5420 117 - 118 - endmenu 119 120 120 121 config EXYNOS5420_MCPM 121 122 bool "Exynos5420 Multi-Cluster PM support"
+1
arch/arm/mach-exynos/common.h
··· 118 118 extern void __iomem *sysram_base_addr; 119 119 void exynos_init_io(void); 120 120 void exynos_restart(enum reboot_mode mode, const char *cmd); 121 + void exynos_sysram_init(void); 121 122 void exynos_cpuidle_init(void); 122 123 void exynos_cpufreq_init(void); 123 124 void exynos_init_late(void);
+30 -1
arch/arm/mach-exynos/exynos.c
··· 184 184 platform_device_register_simple("exynos-cpufreq", -1, NULL, 0); 185 185 } 186 186 187 + void __iomem *sysram_base_addr; 188 + void __iomem *sysram_ns_base_addr; 189 + 190 + void __init exynos_sysram_init(void) 191 + { 192 + struct device_node *node; 193 + 194 + for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") { 195 + if (!of_device_is_available(node)) 196 + continue; 197 + sysram_base_addr = of_iomap(node, 0); 198 + break; 199 + } 200 + 201 + for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") { 202 + if (!of_device_is_available(node)) 203 + continue; 204 + sysram_ns_base_addr = of_iomap(node, 0); 205 + break; 206 + } 207 + } 208 + 187 209 void __init exynos_init_late(void) 188 210 { 189 211 if (of_machine_is_compatible("samsung,exynos5440")) ··· 220 198 int depth, void *data) 221 199 { 222 200 struct map_desc iodesc; 223 - __be32 *reg; 201 + const __be32 *reg; 224 202 int len; 225 203 226 204 if (!of_flat_dt_is_compatible(node, "samsung,exynos4210-chipid") && ··· 292 270 } 293 271 } 294 272 } 273 + 274 + /* 275 + * This is called from smp_prepare_cpus if we've built for SMP, but 276 + * we still need to set it up for PM and firmware ops if not. 277 + */ 278 + if (!IS_ENABLED(SMP)) 279 + exynos_sysram_init(); 295 280 296 281 exynos_cpuidle_init(); 297 282 exynos_cpufreq_init();
+2 -24
arch/arm/mach-exynos/platsmp.c
··· 32 32 33 33 extern void exynos4_secondary_startup(void); 34 34 35 - void __iomem *sysram_base_addr; 36 - void __iomem *sysram_ns_base_addr; 37 - 38 - static void __init exynos_smp_prepare_sysram(void) 39 - { 40 - struct device_node *node; 41 - 42 - for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") { 43 - if (!of_device_is_available(node)) 44 - continue; 45 - sysram_base_addr = of_iomap(node, 0); 46 - break; 47 - } 48 - 49 - for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") { 50 - if (!of_device_is_available(node)) 51 - continue; 52 - sysram_ns_base_addr = of_iomap(node, 0); 53 - break; 54 - } 55 - } 56 - 57 35 static inline void __iomem *cpu_boot_reg_base(void) 58 36 { 59 37 if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) ··· 212 234 { 213 235 int i; 214 236 237 + exynos_sysram_init(); 238 + 215 239 if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) 216 240 scu_enable(scu_base_addr()); 217 - 218 - exynos_smp_prepare_sysram(); 219 241 220 242 /* 221 243 * Write the address of secondary startup into the
-1
arch/arm/mach-highbank/Kconfig
··· 1 1 config ARCH_HIGHBANK 2 2 bool "Calxeda ECX-1000/2000 (Highbank/Midway)" if ARCH_MULTI_V7 3 3 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE 4 - select ARCH_HAS_CPUFREQ 5 4 select ARCH_HAS_HOLES_MEMORYMODEL 6 5 select ARCH_HAS_OPP 7 6 select ARCH_SUPPORTS_BIG_ENDIAN
+3 -7
arch/arm/mach-imx/Kconfig
··· 1 - config ARCH_MXC 1 + menuconfig ARCH_MXC 2 2 bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 3 - select ARCH_HAS_CPUFREQ 4 3 select ARCH_HAS_OPP 5 4 select ARCH_REQUIRE_GPIOLIB 6 5 select ARM_CPU_SUSPEND if PM ··· 12 13 help 13 14 Support for Freescale MXC/iMX-based family of processors 14 15 15 - menu "Freescale i.MX support" 16 - depends on ARCH_MXC 16 + if ARCH_MXC 17 17 18 18 config MXC_TZIC 19 19 bool ··· 97 99 98 100 config SOC_IMX27 99 101 bool 100 - select ARCH_HAS_CPUFREQ 101 102 select ARCH_HAS_OPP 102 103 select CPU_ARM926T 103 104 select IMX_HAVE_IOMUX_V1 ··· 121 124 122 125 config SOC_IMX5 123 126 bool 124 - select ARCH_HAS_CPUFREQ 125 127 select ARCH_HAS_OPP 126 128 select ARCH_MXC_IOMUX_V3 127 129 select MXC_TZIC ··· 782 786 783 787 source "arch/arm/mach-imx/devices/Kconfig" 784 788 785 - endmenu 789 + endif
+1 -1
arch/arm/mach-integrator/Kconfig
··· 28 28 bool 29 29 30 30 config INTEGRATOR_IMPD1 31 - tristate "Include support for Integrator/IM-PD1" 31 + bool "Include support for Integrator/IM-PD1" 32 32 depends on ARCH_INTEGRATOR_AP 33 33 select ARCH_REQUIRE_GPIOLIB 34 34 select ARM_VIC
+11 -1
arch/arm/mach-integrator/impd1.c
··· 308 308 */ 309 309 #define IMPD1_VALID_IRQS 0x00000bffU 310 310 311 - static int __init impd1_probe(struct lm_device *dev) 311 + /* 312 + * As this module is bool, it is OK to have this as __init_refok() - no 313 + * probe calls will be done after the initial system bootup, as devices 314 + * are discovered as part of the machine startup. 315 + */ 316 + static int __init_refok impd1_probe(struct lm_device *dev) 312 317 { 313 318 struct impd1_module *impd1; 314 319 int irq_base; ··· 402 397 static struct lm_driver impd1_driver = { 403 398 .drv = { 404 399 .name = "impd1", 400 + /* 401 + * As we're dropping the probe() function, suppress driver 402 + * binding from sysfs. 403 + */ 404 + .suppress_bind_attrs = true, 405 405 }, 406 406 .probe = impd1_probe, 407 407 .remove = impd1_remove,
+1
arch/arm/mach-keystone/Kconfig
··· 1 1 config ARCH_KEYSTONE 2 2 bool "Texas Instruments Keystone Devices" 3 3 depends on ARCH_MULTI_V7 4 + depends on ARM_PATCH_PHYS_VIRT 4 5 select ARM_GIC 5 6 select HAVE_ARM_ARCH_TIMER 6 7 select CLKSRC_MMIO
+1 -1
arch/arm/mach-moxart/Kconfig
··· 1 - config ARCH_MOXART 1 + menuconfig ARCH_MOXART 2 2 bool "MOXA ART SoC" if ARCH_MULTI_V4 3 3 select CPU_FA526 4 4 select ARM_DMA_MEM_BUFFERABLE
+1 -6
arch/arm/mach-mvebu/Kconfig
··· 1 - config ARCH_MVEBU 1 + menuconfig ARCH_MVEBU 2 2 bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5) 3 3 select ARCH_SUPPORTS_BIG_ENDIAN 4 4 select CLKSRC_MMIO ··· 12 12 select PCI_QUIRKS if PCI 13 13 14 14 if ARCH_MVEBU 15 - 16 - menu "Marvell EBU SoC variants" 17 15 18 16 config MACH_MVEBU_V7 19 17 bool ··· 82 84 83 85 config MACH_KIRKWOOD 84 86 bool "Marvell Kirkwood boards" if ARCH_MULTI_V5 85 - select ARCH_HAS_CPUFREQ 86 87 select ARCH_REQUIRE_GPIOLIB 87 88 select CPU_FEROCEON 88 89 select KIRKWOOD_CLK ··· 93 96 help 94 97 Say 'Y' here if you want your kernel to support boards based 95 98 on the Marvell Kirkwood device tree. 96 - 97 - endmenu 98 99 99 100 endif
+1 -3
arch/arm/mach-nomadik/Kconfig
··· 1 - config ARCH_NOMADIK 1 + menuconfig ARCH_NOMADIK 2 2 bool "ST-Ericsson Nomadik" 3 3 depends on ARCH_MULTI_V5 4 4 select ARCH_REQUIRE_GPIOLIB ··· 15 15 Support for the Nomadik platform by ST-Ericsson 16 16 17 17 if ARCH_NOMADIK 18 - menu "Nomadik boards" 19 18 20 19 config MACH_NOMADIK_8815NHK 21 20 bool "ST 8815 Nomadik Hardware Kit (evaluation board)" ··· 23 24 select I2C_ALGOBIT 24 25 select I2C_NOMADIK 25 26 26 - endmenu 27 27 endif 28 28 29 29 config NOMADIK_8815
+5 -2
arch/arm/mach-omap2/Kconfig
··· 1 + menu "TI OMAP/AM/DM/DRA Family" 2 + depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 3 + 1 4 config ARCH_OMAP 2 5 bool 3 6 ··· 31 28 select ARM_CPU_SUSPEND if PM 32 29 select ARM_ERRATA_720789 33 30 select ARM_GIC 34 - select CACHE_L2X0 35 31 select HAVE_ARM_SCU if SMP 36 32 select HAVE_ARM_TWD if SMP 37 33 select OMAP_INTERCONNECT ··· 82 80 config ARCH_OMAP2PLUS 83 81 bool 84 82 select ARCH_HAS_BANDGAP 85 - select ARCH_HAS_CPUFREQ 86 83 select ARCH_HAS_HOLES_MEMORYMODEL 87 84 select ARCH_OMAP 88 85 select ARCH_REQUIRE_GPIOLIB ··· 344 343 endmenu 345 344 346 345 endif 346 + 347 + endmenu
+7
arch/arm/mach-omap2/common.h
··· 91 91 extern void omap3_secure_sync32k_timer_init(void); 92 92 extern void omap3_gptimer_timer_init(void); 93 93 extern void omap4_local_timer_init(void); 94 + #ifdef CONFIG_CACHE_L2X0 94 95 int omap_l2_cache_init(void); 96 + #else 97 + static inline int omap_l2_cache_init(void) 98 + { 99 + return 0; 100 + } 101 + #endif 95 102 extern void omap5_realtime_timer_init(void); 96 103 97 104 void omap2420_init_early(void);
+2 -4
arch/arm/mach-prima2/Kconfig
··· 1 - config ARCH_SIRF 1 + menuconfig ARCH_SIRF 2 2 bool "CSR SiRF" if ARCH_MULTI_V7 3 3 select ARCH_HAS_RESET_CONTROLLER 4 4 select ARCH_REQUIRE_GPIOLIB ··· 11 11 12 12 if ARCH_SIRF 13 13 14 - menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" 14 + comment "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" 15 15 16 16 config ARCH_ATLAS6 17 17 bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" ··· 36 36 select SMP_ON_UP if SMP 37 37 help 38 38 Support for CSR SiRFSoC ARM Cortex A9 Platform 39 - 40 - endmenu 41 39 42 40 config SIRF_IRQ 43 41 bool
+1 -5
arch/arm/mach-qcom/Kconfig
··· 1 - config ARCH_QCOM 1 + menuconfig ARCH_QCOM 2 2 bool "Qualcomm Support" if ARCH_MULTI_V7 3 3 select ARCH_REQUIRE_GPIOLIB 4 4 select ARM_GIC ··· 11 11 12 12 if ARCH_QCOM 13 13 14 - menu "Qualcomm SoC Selection" 15 - 16 14 config ARCH_MSM8X60 17 15 bool "Enable support for MSM8X60" 18 16 select CLKSRC_QCOM ··· 22 24 config ARCH_MSM8974 23 25 bool "Enable support for MSM8974" 24 26 select HAVE_ARM_ARCH_TIMER 25 - 26 - endmenu 27 27 28 28 config QCOM_SCM 29 29 bool
+1 -1
arch/arm/mach-s3c24xx/Kconfig
··· 117 117 Compile in platform device definition for Samsung TouchScreen. 118 118 119 119 config S3C24XX_DMA 120 - bool "S3C2410 DMA support" 120 + bool "S3C2410 DMA support (deprecated)" 121 121 select S3C_DMA 122 122 help 123 123 S3C2410 DMA support. This is needed for drivers like sound which
+2 -2
arch/arm/mach-s3c64xx/Kconfig
··· 18 18 Enable S3C6410 CPU support 19 19 20 20 config S3C64XX_PL080 21 - bool "S3C64XX DMA using generic PL08x driver" 21 + def_bool DMADEVICES 22 + select ARM_AMBA 22 23 select AMBA_PL08X 23 - select SAMSUNG_DMADEV 24 24 25 25 config S3C64XX_SETUP_SDHCI 26 26 bool
+4 -2
arch/arm/mach-s5p64x0/Kconfig
··· 9 9 10 10 config CPU_S5P6440 11 11 bool 12 + select ARM_AMBA 13 + select PL330_DMA if DMADEVICES 12 14 select S5P_SLEEP if PM 13 - select SAMSUNG_DMADEV 14 15 select SAMSUNG_WAKEMASK if PM 15 16 help 16 17 Enable S5P6440 CPU support 17 18 18 19 config CPU_S5P6450 19 20 bool 21 + select ARM_AMBA 22 + select PL330_DMA if DMADEVICES 20 23 select S5P_SLEEP if PM 21 - select SAMSUNG_DMADEV 22 24 select SAMSUNG_WAKEMASK if PM 23 25 help 24 26 Enable S5P6450 CPU support
+2 -1
arch/arm/mach-s5pc100/Kconfig
··· 9 9 10 10 config CPU_S5PC100 11 11 bool 12 + select ARM_AMBA 13 + select PL330_DMA if DMADEVICES 12 14 select S5P_EXT_INT 13 - select SAMSUNG_DMADEV 14 15 help 15 16 Enable S5PC100 CPU support 16 17
+2 -1
arch/arm/mach-s5pv210/Kconfig
··· 11 11 12 12 config CPU_S5PV210 13 13 bool 14 + select ARM_AMBA 15 + select PL330_DMA if DMADEVICES 14 16 select S5P_EXT_INT 15 17 select S5P_PM if PM 16 18 select S5P_SLEEP if PM 17 - select SAMSUNG_DMADEV 18 19 help 19 20 Enable S5PV210 CPU support 20 21
+2 -4
arch/arm/mach-shmobile/Kconfig
··· 1 1 config ARCH_SHMOBILE 2 2 bool 3 3 4 - config ARCH_SHMOBILE_MULTI 4 + menuconfig ARCH_SHMOBILE_MULTI 5 5 bool "Renesas ARM SoCs" if ARCH_MULTI_V7 6 6 depends on MMU 7 7 select ARCH_SHMOBILE ··· 15 15 16 16 if ARCH_SHMOBILE_MULTI 17 17 18 - comment "Renesas ARM SoCs System Type" 18 + #comment "Renesas ARM SoCs System Type" 19 19 20 20 config ARCH_EMEV2 21 21 bool "Emma Mobile EV2" ··· 85 85 select CPU_V7 86 86 select SH_CLK_CPG 87 87 select RENESAS_IRQC 88 - select ARCH_HAS_CPUFREQ 89 88 select ARCH_HAS_OPP 90 89 select SYS_SUPPORTS_SH_CMT 91 90 select SYS_SUPPORTS_SH_TMU ··· 263 264 config MACH_KZM9G 264 265 bool "KZM-A9-GT board" 265 266 depends on ARCH_SH73A0 266 - select ARCH_HAS_CPUFREQ 267 267 select ARCH_HAS_OPP 268 268 select ARCH_REQUIRE_GPIOLIB 269 269 select REGULATOR_FIXED_VOLTAGE if REGULATOR
-1
arch/arm/mach-spear/Kconfig
··· 14 14 config ARCH_SPEAR13XX 15 15 bool "ST SPEAr13xx" 16 16 depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE 17 - select ARCH_HAS_CPUFREQ 18 17 select ARM_GIC 19 18 select GPIO_SPEAR_SPICS 20 19 select HAVE_ARM_SCU if SMP
+1 -1
arch/arm/mach-sti/Kconfig
··· 1 1 menuconfig ARCH_STI 2 - bool "STMicroelectronics Consumer Electronics SOCs with Device Trees" if ARCH_MULTI_V7 2 + bool "STMicroelectronics Consumer Electronics SOCs" if ARCH_MULTI_V7 3 3 select ARM_GIC 4 4 select ARM_GLOBAL_TIMER 5 5 select PINCTRL
+3 -5
arch/arm/mach-tegra/Kconfig
··· 1 - config ARCH_TEGRA 1 + menuconfig ARCH_TEGRA 2 2 bool "NVIDIA Tegra" if ARCH_MULTI_V7 3 - select ARCH_HAS_CPUFREQ 4 3 select ARCH_REQUIRE_GPIOLIB 5 4 select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS 6 5 select ARM_GIC ··· 15 16 help 16 17 This enables support for NVIDIA Tegra based systems. 17 18 18 - menu "NVIDIA Tegra options" 19 - depends on ARCH_TEGRA 19 + if ARCH_TEGRA 20 20 21 21 config ARCH_TEGRA_2x_SOC 22 22 bool "Enable support for Tegra20 family" ··· 67 69 which controls AHB bus master arbitration and some 68 70 performance parameters(priority, prefech size). 69 71 70 - endmenu 72 + endif
+1 -5
arch/arm/mach-u300/Kconfig
··· 1 - config ARCH_U300 1 + menuconfig ARCH_U300 2 2 bool "ST-Ericsson U300 Series" if ARCH_MULTI_V5 3 3 depends on MMU 4 4 select ARCH_REQUIRE_GPIOLIB ··· 15 15 Support for ST-Ericsson U300 series mobile platforms. 16 16 17 17 if ARCH_U300 18 - 19 - menu "ST-Ericsson AB U300/U335 Platform" 20 18 21 19 config MACH_U300 22 20 depends on ARCH_U300 ··· 40 42 to test reference designs. If you're not testing SPI, 41 43 you don't need it. Selecting this will activate the 42 44 SPI framework and ARM PL022 support. 43 - 44 - endmenu 45 45 46 46 endif
+1 -6
arch/arm/mach-ux500/Kconfig
··· 1 - config ARCH_U8500 1 + menuconfig ARCH_U8500 2 2 bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7 3 3 depends on MMU 4 4 select AB8500_CORE 5 5 select ABX500_CORE 6 - select ARCH_HAS_CPUFREQ 7 6 select ARCH_REQUIRE_GPIOLIB 8 7 select ARM_AMBA 9 8 select ARM_ERRATA_754322 ··· 32 33 select PINCTRL_AB8540 33 34 select REGULATOR 34 35 select REGULATOR_DB8500_PRCMU 35 - 36 - menu "Ux500 target platform (boards)" 37 36 38 37 config MACH_MOP500 39 38 bool "U8500 Development platform, MOP500 versions" ··· 64 67 At least one platform needs to be selected in order to build 65 68 a working kernel. If everything else is disabled, this 66 69 automatically enables MACH_MOP500. 67 - 68 - endmenu 69 70 70 71 config UX500_DEBUG_UART 71 72 int "Ux500 UART to use for low-level debug"
+3 -5
arch/arm/mach-vexpress/Kconfig
··· 1 - config ARCH_VEXPRESS 1 + menuconfig ARCH_VEXPRESS 2 2 bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 3 3 select ARCH_REQUIRE_GPIOLIB 4 4 select ARCH_SUPPORTS_BIG_ENDIAN ··· 37 37 platforms. The traditional (ATAGs) boot method is not usable on 38 38 these boards with this option. 39 39 40 - menu "Versatile Express platform type" 41 - depends on ARCH_VEXPRESS 40 + if ARCH_VEXPRESS 42 41 43 42 config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 44 43 bool "Enable A5 and A9 only errata work-arounds" ··· 64 65 65 66 config ARCH_VEXPRESS_SPC 66 67 bool "Versatile Express Serial Power Controller (SPC)" 67 - select ARCH_HAS_CPUFREQ 68 68 select ARCH_HAS_OPP 69 69 select PM_OPP 70 70 help ··· 81 83 Support for CPU and cluster power management on Versatile Express 82 84 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 83 85 84 - endmenu 86 + endif
-1
arch/arm/mach-vt8500/Kconfig
··· 1 1 config ARCH_VT8500 2 2 bool 3 - select ARCH_HAS_CPUFREQ 4 3 select ARCH_REQUIRE_GPIOLIB 5 4 select CLKDEV_LOOKUP 6 5 select VT8500_TIMER
-1
arch/arm/mach-zynq/Kconfig
··· 1 1 config ARCH_ZYNQ 2 2 bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 3 - select ARCH_HAS_CPUFREQ 4 3 select ARCH_HAS_OPP 5 4 select ARCH_SUPPORTS_BIG_ENDIAN 6 5 select ARM_AMBA
+8 -20
arch/arm/plat-samsung/Kconfig
··· 35 35 Base platform power management code for samsung code 36 36 37 37 if PLAT_SAMSUNG 38 + menu "Samsung Common options" 38 39 39 40 # boot configurations 40 41 41 42 comment "Boot options" 42 43 43 - config S3C_BOOT_ERROR_RESET 44 - bool "S3C Reboot on decompression error" 45 - help 46 - Say y here to use the watchdog to reset the system if the 47 - kernel decompressor detects an error during decompression. 48 - 49 - config S3C_BOOT_UART_FORCE_FIFO 50 - bool "Force UART FIFO on during boot process" 51 - default y 52 - help 53 - Say Y here to force the UART FIFOs on during the kernel 54 - uncompressor 55 - 56 - 57 44 config S3C_LOWLEVEL_UART_PORT 58 45 int "S3C UART to use for low-level messages" 46 + depends on ARCH_S3C64XX 59 47 default 0 60 48 help 61 49 Choice of which UART port to use for the low-level messages, ··· 395 407 Include legacy GPIO power management code for platforms not using 396 408 pinctrl-samsung driver. 397 409 398 - endif 399 - 400 410 config SAMSUNG_DMADEV 401 - bool 402 - select ARM_AMBA 411 + bool "Use legacy Samsung DMA abstraction" 412 + depends on CPU_S5PV210 || CPU_S5PC100 || ARCH_S5P64X0 || ARCH_S3C64XX 403 413 select DMADEVICES 404 - select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ 405 - CPU_S5P6450 || CPU_S5P6440) 414 + default y 406 415 help 407 416 Use DMA device engine for PL330 DMAC. 417 + 418 + endif 408 419 409 420 config S5P_DEV_MFC 410 421 bool ··· 490 503 default "2" if DEBUG_S3C_UART2 491 504 default "3" if DEBUG_S3C_UART3 492 505 506 + endmenu 493 507 endif
+1 -1
drivers/bus/Kconfig
··· 45 45 46 46 config ARM_CCI 47 47 bool "ARM CCI driver support" 48 - depends on ARM 48 + depends on ARM && OF && CPU_V7 49 49 help 50 50 Driver supporting the CCI cache coherent interconnect for ARM 51 51 platforms.
+8 -4
drivers/misc/vexpress-syscfg.c
··· 199 199 func = kzalloc(sizeof(*func) + sizeof(*func->template) * num, 200 200 GFP_KERNEL); 201 201 if (!func) 202 - return NULL; 202 + return ERR_PTR(-ENOMEM); 203 203 204 204 func->syscfg = syscfg; 205 205 func->num_templates = num; ··· 231 231 func->regmap = regmap_init(dev, NULL, func, 232 232 &vexpress_syscfg_regmap_config); 233 233 234 - if (IS_ERR(func->regmap)) 234 + if (IS_ERR(func->regmap)) { 235 + void *err = func->regmap; 236 + 235 237 kfree(func); 236 - else 237 - list_add(&func->list, &syscfg->funcs); 238 + return err; 239 + } 240 + 241 + list_add(&func->list, &syscfg->funcs); 238 242 239 243 return func->regmap; 240 244 }
+1 -1
drivers/remoteproc/Kconfig
··· 44 44 config DA8XX_REMOTEPROC 45 45 tristate "DA8xx/OMAP-L13x remoteproc support" 46 46 depends on ARCH_DAVINCI_DA8XX 47 - select CMA 47 + select CMA if MMU 48 48 select REMOTEPROC 49 49 select RPMSG 50 50 help