aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-03-20 17:26:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-03-20 17:26:57 -0400
commitdae0b74eb7abd7d5c7572414b0c8f91c2dab63c0 (patch)
treef1a2317db97a8eddaf14956b2efa12bf34c51cfe
parent142b9e6c9de0fd7c0dff9a1d4a25390de46abf5e (diff)
parent88e9da9a2a70b6f1a171fbf30a681d6bc4031c4d (diff)
Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC non-urgent fixes from Arnd Bergmann: "As usual, we queue up a few fixes that don't seem urgent enough to go in through -rc. - a number of randconfig warning fixes from Arnd - various small fixes for OMAP - one somewhat larger patch to restore the OMAP3 cpuidle tuning that was lost in a cleanup - a small regression fix for cns3xxx PCI" * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits) CNS3xxx: Fix PCI cns3xxx_write_config() MAINTAINERS: unify email addrs for Kevin Hilman CNS3xxx: remove unused *_VIRT definitions ARM: OMAP2+: Fix hwmod clock for l4_ls soc: TI knav_qmss: fix dma_addr_t printing ARM: prima2: always enable reset controller ARM: socfpga: hide unused functions ARM: ux500: fix ureachable iounmap() ARM: ks8695: fix __initdata annotation ARM: mvebu: mark mvebu_hwcc_pci_nb as __maybe_unused ARM: mv78xx0: avoid unused function warning ARM: orion: only select I2C_BOARDINFO when using I2C ARM: OMAP2+: Fix out of range register access with syscon_config.max_register ARM: OMAP3: Add cpuidle parameters table for omap3430 ARM: davinci: make I2C support optional ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT ARM: davinci: avoid unused mityomapl138_pn_info variable ARM: davinci: limit DT support to DA850 ARM: DRA7: hwmod: Add reset data for PCIe ARM: DRA7: hwmod: Fix OCP2SCP sysconfig ...
-rw-r--r--MAINTAINERS6
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/configs/mini2440_defconfig1
-rw-r--r--arch/arm/configs/s3c2410_defconfig1
-rw-r--r--arch/arm/mach-cns3xxx/cns3xxx.h6
-rw-r--r--arch/arm/mach-cns3xxx/pcie.c6
-rw-r--r--arch/arm/mach-davinci/Kconfig22
-rw-r--r--arch/arm/mach-davinci/board-dm644x-evm.c8
-rw-r--r--arch/arm/mach-davinci/board-dm646x-evm.c7
-rw-r--r--arch/arm/mach-davinci/board-mityomapl138.c2
-rw-r--r--arch/arm/mach-dove/Kconfig2
-rw-r--r--arch/arm/mach-exynos/Kconfig1
-rw-r--r--arch/arm/mach-ks8695/board-og.c2
-rw-r--r--arch/arm/mach-ks8695/cpu.c2
-rw-r--r--arch/arm/mach-mv78xx0/common.c5
-rw-r--r--arch/arm/mach-mvebu/coherency.c2
-rw-r--r--arch/arm/mach-omap2/control.c21
-rw-r--r--arch/arm/mach-omap2/cpuidle34xx.c69
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c13
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_7xx_data.c18
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_81xx_data.c9
-rw-r--r--arch/arm/mach-omap2/prm7xx.h1
-rw-r--r--arch/arm/mach-orion5x/Kconfig18
-rw-r--r--arch/arm/mach-prima2/Kconfig1
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig6
-rw-r--r--arch/arm/mach-s3c24xx/mach-gta02.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c38
-rw-r--r--arch/arm/mach-socfpga/platsmp.c2
-rw-r--r--arch/arm/mach-ux500/cpu-db8500.c4
-rw-r--r--drivers/soc/ti/knav_qmss.h4
-rw-r--r--drivers/soc/ti/knav_qmss_acc.c14
-rw-r--r--drivers/soc/ti/knav_qmss_queue.c22
32 files changed, 195 insertions, 121 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 606528bb16af..871818cf9409 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7887,7 +7887,7 @@ S: Maintained
7887F: arch/arm/*omap*/*clock* 7887F: arch/arm/*omap*/*clock*
7888 7888
7889OMAP POWER MANAGEMENT SUPPORT 7889OMAP POWER MANAGEMENT SUPPORT
7890M: Kevin Hilman <khilman@deeprootsystems.com> 7890M: Kevin Hilman <khilman@kernel.org>
7891L: linux-omap@vger.kernel.org 7891L: linux-omap@vger.kernel.org
7892S: Maintained 7892S: Maintained
7893F: arch/arm/*omap*/*pm* 7893F: arch/arm/*omap*/*pm*
@@ -7991,7 +7991,7 @@ F: arch/arm/*omap*/usb*
7991OMAP GPIO DRIVER 7991OMAP GPIO DRIVER
7992M: Grygorii Strashko <grygorii.strashko@ti.com> 7992M: Grygorii Strashko <grygorii.strashko@ti.com>
7993M: Santosh Shilimkar <ssantosh@kernel.org> 7993M: Santosh Shilimkar <ssantosh@kernel.org>
7994M: Kevin Hilman <khilman@deeprootsystems.com> 7994M: Kevin Hilman <khilman@kernel.org>
7995L: linux-omap@vger.kernel.org 7995L: linux-omap@vger.kernel.org
7996S: Maintained 7996S: Maintained
7997F: Documentation/devicetree/bindings/gpio/gpio-omap.txt 7997F: Documentation/devicetree/bindings/gpio/gpio-omap.txt
@@ -10048,7 +10048,7 @@ F: arch/arm/mach-s3c24xx/bast-irq.c
10048 10048
10049TI DAVINCI MACHINE SUPPORT 10049TI DAVINCI MACHINE SUPPORT
10050M: Sekhar Nori <nsekhar@ti.com> 10050M: Sekhar Nori <nsekhar@ti.com>
10051M: Kevin Hilman <khilman@deeprootsystems.com> 10051M: Kevin Hilman <khilman@kernel.org>
10052T: git git://gitorious.org/linux-davinci/linux-davinci.git 10052T: git git://gitorious.org/linux-davinci/linux-davinci.git
10053Q: http://patchwork.kernel.org/project/linux-davinci/list/ 10053Q: http://patchwork.kernel.org/project/linux-davinci/list/
10054S: Supported 10054S: Supported
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f6c185f2d8b0..99c11433115e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -622,6 +622,7 @@ config ARCH_DAVINCI
622 select ARCH_HAS_HOLES_MEMORYMODEL 622 select ARCH_HAS_HOLES_MEMORYMODEL
623 select ARCH_REQUIRE_GPIOLIB 623 select ARCH_REQUIRE_GPIOLIB
624 select CLKDEV_LOOKUP 624 select CLKDEV_LOOKUP
625 select CPU_ARM926T
625 select GENERIC_ALLOCATOR 626 select GENERIC_ALLOCATOR
626 select GENERIC_CLOCKEVENTS 627 select GENERIC_CLOCKEVENTS
627 select GENERIC_IRQ_CHIP 628 select GENERIC_IRQ_CHIP
diff --git a/arch/arm/configs/mini2440_defconfig b/arch/arm/configs/mini2440_defconfig
index 9c93f5655248..0b02e4f43c6a 100644
--- a/arch/arm/configs/mini2440_defconfig
+++ b/arch/arm/configs/mini2440_defconfig
@@ -158,6 +158,7 @@ CONFIG_I2C=y
158CONFIG_I2C_CHARDEV=y 158CONFIG_I2C_CHARDEV=y
159CONFIG_I2C_S3C2410=y 159CONFIG_I2C_S3C2410=y
160CONFIG_I2C_SIMTEC=y 160CONFIG_I2C_SIMTEC=y
161CONFIG_EEPROM_AT24=y
161CONFIG_SPI=y 162CONFIG_SPI=y
162CONFIG_SPI_S3C24XX=y 163CONFIG_SPI_S3C24XX=y
163CONFIG_SPI_SPIDEV=y 164CONFIG_SPI_SPIDEV=y
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig
index f3142369f594..b3ade552a2a5 100644
--- a/arch/arm/configs/s3c2410_defconfig
+++ b/arch/arm/configs/s3c2410_defconfig
@@ -290,6 +290,7 @@ CONFIG_HW_RANDOM=y
290CONFIG_I2C_CHARDEV=m 290CONFIG_I2C_CHARDEV=m
291CONFIG_I2C_S3C2410=y 291CONFIG_I2C_S3C2410=y
292CONFIG_I2C_SIMTEC=y 292CONFIG_I2C_SIMTEC=y
293CONFIG_EEPROM_AT24=y
293CONFIG_SPI=y 294CONFIG_SPI=y
294CONFIG_SPI_GPIO=m 295CONFIG_SPI_GPIO=m
295CONFIG_SPI_S3C24XX=m 296CONFIG_SPI_S3C24XX=m
diff --git a/arch/arm/mach-cns3xxx/cns3xxx.h b/arch/arm/mach-cns3xxx/cns3xxx.h
index a0f5b60662ae..a642ba5feb64 100644
--- a/arch/arm/mach-cns3xxx/cns3xxx.h
+++ b/arch/arm/mach-cns3xxx/cns3xxx.h
@@ -162,13 +162,11 @@
162#define CNS3XXX_L2C_BASE 0x92000000 /* L2 Cache Control */ 162#define CNS3XXX_L2C_BASE 0x92000000 /* L2 Cache Control */
163 163
164#define CNS3XXX_PCIE0_MEM_BASE 0xA0000000 /* PCIe Port 0 IO/Memory Space */ 164#define CNS3XXX_PCIE0_MEM_BASE 0xA0000000 /* PCIe Port 0 IO/Memory Space */
165#define CNS3XXX_PCIE0_MEM_BASE_VIRT 0xE0000000
166 165
167#define CNS3XXX_PCIE0_HOST_BASE 0xAB000000 /* PCIe Port 0 RC Base */ 166#define CNS3XXX_PCIE0_HOST_BASE 0xAB000000 /* PCIe Port 0 RC Base */
168#define CNS3XXX_PCIE0_HOST_BASE_VIRT 0xE1000000 167#define CNS3XXX_PCIE0_HOST_BASE_VIRT 0xE1000000
169 168
170#define CNS3XXX_PCIE0_IO_BASE 0xAC000000 /* PCIe Port 0 */ 169#define CNS3XXX_PCIE0_IO_BASE 0xAC000000 /* PCIe Port 0 */
171#define CNS3XXX_PCIE0_IO_BASE_VIRT 0xE2000000
172 170
173#define CNS3XXX_PCIE0_CFG0_BASE 0xAD000000 /* PCIe Port 0 CFG Type 0 */ 171#define CNS3XXX_PCIE0_CFG0_BASE 0xAD000000 /* PCIe Port 0 CFG Type 0 */
174#define CNS3XXX_PCIE0_CFG0_BASE_VIRT 0xE3000000 172#define CNS3XXX_PCIE0_CFG0_BASE_VIRT 0xE3000000
@@ -177,16 +175,13 @@
177#define CNS3XXX_PCIE0_CFG1_BASE_VIRT 0xE4000000 175#define CNS3XXX_PCIE0_CFG1_BASE_VIRT 0xE4000000
178 176
179#define CNS3XXX_PCIE0_MSG_BASE 0xAF000000 /* PCIe Port 0 Message Space */ 177#define CNS3XXX_PCIE0_MSG_BASE 0xAF000000 /* PCIe Port 0 Message Space */
180#define CNS3XXX_PCIE0_MSG_BASE_VIRT 0xE5000000
181 178
182#define CNS3XXX_PCIE1_MEM_BASE 0xB0000000 /* PCIe Port 1 IO/Memory Space */ 179#define CNS3XXX_PCIE1_MEM_BASE 0xB0000000 /* PCIe Port 1 IO/Memory Space */
183#define CNS3XXX_PCIE1_MEM_BASE_VIRT 0xE8000000
184 180
185#define CNS3XXX_PCIE1_HOST_BASE 0xBB000000 /* PCIe Port 1 RC Base */ 181#define CNS3XXX_PCIE1_HOST_BASE 0xBB000000 /* PCIe Port 1 RC Base */
186#define CNS3XXX_PCIE1_HOST_BASE_VIRT 0xE9000000 182#define CNS3XXX_PCIE1_HOST_BASE_VIRT 0xE9000000
187 183
188#define CNS3XXX_PCIE1_IO_BASE 0xBC000000 /* PCIe Port 1 */ 184#define CNS3XXX_PCIE1_IO_BASE 0xBC000000 /* PCIe Port 1 */
189#define CNS3XXX_PCIE1_IO_BASE_VIRT 0xEA000000
190 185
191#define CNS3XXX_PCIE1_CFG0_BASE 0xBD000000 /* PCIe Port 1 CFG Type 0 */ 186#define CNS3XXX_PCIE1_CFG0_BASE 0xBD000000 /* PCIe Port 1 CFG Type 0 */
192#define CNS3XXX_PCIE1_CFG0_BASE_VIRT 0xEB000000 187#define CNS3XXX_PCIE1_CFG0_BASE_VIRT 0xEB000000
@@ -195,7 +190,6 @@
195#define CNS3XXX_PCIE1_CFG1_BASE_VIRT 0xEC000000 190#define CNS3XXX_PCIE1_CFG1_BASE_VIRT 0xEC000000
196 191
197#define CNS3XXX_PCIE1_MSG_BASE 0xBF000000 /* PCIe Port 1 Message Space */ 192#define CNS3XXX_PCIE1_MSG_BASE 0xBF000000 /* PCIe Port 1 Message Space */
198#define CNS3XXX_PCIE1_MSG_BASE_VIRT 0xED000000
199 193
200/* 194/*
201 * Testchip peripheral and fpga gic regions 195 * Testchip peripheral and fpga gic regions
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
index 47905a50e075..318394ed5c7a 100644
--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -220,13 +220,13 @@ static void cns3xxx_write_config(struct cns3xxx_pcie *cnspci,
220 u32 mask = (0x1ull << (size * 8)) - 1; 220 u32 mask = (0x1ull << (size * 8)) - 1;
221 int shift = (where % 4) * 8; 221 int shift = (where % 4) * 8;
222 222
223 v = readl_relaxed(base + (where & 0xffc)); 223 v = readl_relaxed(base);
224 224
225 v &= ~(mask << shift); 225 v &= ~(mask << shift);
226 v |= (val & mask) << shift; 226 v |= (val & mask) << shift;
227 227
228 writel_relaxed(v, base + (where & 0xffc)); 228 writel_relaxed(v, base);
229 readl_relaxed(base + (where & 0xffc)); 229 readl_relaxed(base);
230} 230}
231 231
232static void __init cns3xxx_pcie_hw_init(struct cns3xxx_pcie *cnspci) 232static void __init cns3xxx_pcie_hw_init(struct cns3xxx_pcie *cnspci)
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index bcaf1d025505..36c8f5324e43 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -9,7 +9,6 @@ config CP_INTC
9 9
10config ARCH_DAVINCI_DMx 10config ARCH_DAVINCI_DMx
11 bool 11 bool
12 select CPU_ARM926T
13 12
14menu "TI DaVinci Implementations" 13menu "TI DaVinci Implementations"
15 14
@@ -32,7 +31,7 @@ config ARCH_DAVINCI_DM646x
32 31
33config ARCH_DAVINCI_DA830 32config ARCH_DAVINCI_DA830
34 bool "DA830/OMAP-L137/AM17x based system" 33 bool "DA830/OMAP-L137/AM17x based system"
35 depends on !ARCH_DAVINCI_DMx || AUTO_ZRELADDR 34 depends on !ARCH_DAVINCI_DMx || (AUTO_ZRELADDR && ARM_PATCH_PHYS_VIRT)
36 select ARCH_DAVINCI_DA8XX 35 select ARCH_DAVINCI_DA8XX
37 # needed on silicon revs 1.0, 1.1: 36 # needed on silicon revs 1.0, 1.1:
38 select CPU_DCACHE_WRITETHROUGH if !CPU_DCACHE_DISABLE 37 select CPU_DCACHE_WRITETHROUGH if !CPU_DCACHE_DISABLE
@@ -40,13 +39,12 @@ config ARCH_DAVINCI_DA830
40 39
41config ARCH_DAVINCI_DA850 40config ARCH_DAVINCI_DA850
42 bool "DA850/OMAP-L138/AM18x based system" 41 bool "DA850/OMAP-L138/AM18x based system"
43 depends on !ARCH_DAVINCI_DMx || AUTO_ZRELADDR 42 depends on !ARCH_DAVINCI_DMx || (AUTO_ZRELADDR && ARM_PATCH_PHYS_VIRT)
44 select ARCH_DAVINCI_DA8XX 43 select ARCH_DAVINCI_DA8XX
45 select CP_INTC 44 select CP_INTC
46 45
47config ARCH_DAVINCI_DA8XX 46config ARCH_DAVINCI_DA8XX
48 bool 47 bool
49 select CPU_ARM926T
50 48
51config ARCH_DAVINCI_DM365 49config ARCH_DAVINCI_DM365
52 bool "DaVinci 365 based system" 50 bool "DaVinci 365 based system"
@@ -58,7 +56,7 @@ comment "DaVinci Board Type"
58config MACH_DA8XX_DT 56config MACH_DA8XX_DT
59 bool "Support DA8XX platforms using device tree" 57 bool "Support DA8XX platforms using device tree"
60 default y 58 default y
61 depends on ARCH_DAVINCI_DA8XX 59 depends on ARCH_DAVINCI_DA850
62 select PINCTRL 60 select PINCTRL
63 help 61 help
64 Say y here to include support for TI DaVinci DA850 based using 62 Say y here to include support for TI DaVinci DA850 based using
@@ -68,8 +66,6 @@ config MACH_DAVINCI_EVM
68 bool "TI DM644x EVM" 66 bool "TI DM644x EVM"
69 default ARCH_DAVINCI_DM644x 67 default ARCH_DAVINCI_DM644x
70 depends on ARCH_DAVINCI_DM644x 68 depends on ARCH_DAVINCI_DM644x
71 select EEPROM_AT24
72 select I2C
73 help 69 help
74 Configure this option to specify the whether the board used 70 Configure this option to specify the whether the board used
75 for development is a DM644x EVM 71 for development is a DM644x EVM
@@ -77,8 +73,6 @@ config MACH_DAVINCI_EVM
77config MACH_SFFSDR 73config MACH_SFFSDR
78 bool "Lyrtech SFFSDR" 74 bool "Lyrtech SFFSDR"
79 depends on ARCH_DAVINCI_DM644x 75 depends on ARCH_DAVINCI_DM644x
80 select EEPROM_AT24
81 select I2C
82 help 76 help
83 Say Y here to select the Lyrtech Small Form Factor 77 Say Y here to select the Lyrtech Small Form Factor
84 Software Defined Radio (SFFSDR) board. 78 Software Defined Radio (SFFSDR) board.
@@ -109,8 +103,6 @@ config MACH_DAVINCI_DM6467_EVM
109 bool "TI DM6467 EVM" 103 bool "TI DM6467 EVM"
110 default ARCH_DAVINCI_DM646x 104 default ARCH_DAVINCI_DM646x
111 depends on ARCH_DAVINCI_DM646x 105 depends on ARCH_DAVINCI_DM646x
112 select EEPROM_AT24
113 select I2C
114 select MACH_DAVINCI_DM6467TEVM 106 select MACH_DAVINCI_DM6467TEVM
115 help 107 help
116 Configure this option to specify the whether the board used 108 Configure this option to specify the whether the board used
@@ -123,8 +115,6 @@ config MACH_DAVINCI_DM365_EVM
123 bool "TI DM365 EVM" 115 bool "TI DM365 EVM"
124 default ARCH_DAVINCI_DM365 116 default ARCH_DAVINCI_DM365
125 depends on ARCH_DAVINCI_DM365 117 depends on ARCH_DAVINCI_DM365
126 select EEPROM_AT24
127 select I2C
128 help 118 help
129 Configure this option to specify whether the board used 119 Configure this option to specify whether the board used
130 for development is a DM365 EVM 120 for development is a DM365 EVM
@@ -133,9 +123,7 @@ config MACH_DAVINCI_DA830_EVM
133 bool "TI DA830/OMAP-L137/AM17x Reference Platform" 123 bool "TI DA830/OMAP-L137/AM17x Reference Platform"
134 default ARCH_DAVINCI_DA830 124 default ARCH_DAVINCI_DA830
135 depends on ARCH_DAVINCI_DA830 125 depends on ARCH_DAVINCI_DA830
136 select EEPROM_AT24 126 select GPIO_PCF857X if I2C
137 select GPIO_PCF857X
138 select I2C
139 help 127 help
140 Say Y here to select the TI DA830/OMAP-L137/AM17x Evaluation Module. 128 Say Y here to select the TI DA830/OMAP-L137/AM17x Evaluation Module.
141 129
@@ -204,8 +192,6 @@ endchoice
204config MACH_MITYOMAPL138 192config MACH_MITYOMAPL138
205 bool "Critical Link MityDSP-L138/MityARM-1808 SoM" 193 bool "Critical Link MityDSP-L138/MityARM-1808 SoM"
206 depends on ARCH_DAVINCI_DA850 194 depends on ARCH_DAVINCI_DA850
207 select EEPROM_AT24
208 select I2C
209 help 195 help
210 Say Y here to select the Critical Link MityDSP-L138/MityARM-1808 196 Say Y here to select the Critical Link MityDSP-L138/MityARM-1808
211 System on Module. Information on this SoM may be found at 197 System on Module. Information on this SoM may be found at
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 7a20507a3eef..68cc09907828 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -267,7 +267,7 @@ static struct platform_device rtc_dev = {
267static struct snd_platform_data dm644x_evm_snd_data; 267static struct snd_platform_data dm644x_evm_snd_data;
268 268
269/*----------------------------------------------------------------------*/ 269/*----------------------------------------------------------------------*/
270 270#ifdef CONFIG_I2C
271/* 271/*
272 * I2C GPIO expanders 272 * I2C GPIO expanders
273 */ 273 */
@@ -612,6 +612,7 @@ static void __init evm_init_i2c(void)
612 i2c_add_driver(&dm6446evm_msp_driver); 612 i2c_add_driver(&dm6446evm_msp_driver);
613 i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info)); 613 i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info));
614} 614}
615#endif
615 616
616#define VENC_STD_ALL (V4L2_STD_NTSC | V4L2_STD_PAL) 617#define VENC_STD_ALL (V4L2_STD_NTSC | V4L2_STD_PAL)
617 618
@@ -780,7 +781,9 @@ static __init void davinci_evm_init(void)
780 pr_warn("%s: Cannot configure AEMIF\n", 781 pr_warn("%s: Cannot configure AEMIF\n",
781 __func__); 782 __func__);
782 783
784#ifdef CONFIG_I2C
783 evm_leds[7].default_trigger = "nand-disk"; 785 evm_leds[7].default_trigger = "nand-disk";
786#endif
784 if (HAS_NOR) 787 if (HAS_NOR)
785 pr_warn("WARNING: both NAND and NOR flash are enabled; disable one of them.\n"); 788 pr_warn("WARNING: both NAND and NOR flash are enabled; disable one of them.\n");
786 } else if (HAS_NOR) 789 } else if (HAS_NOR)
@@ -789,9 +792,10 @@ static __init void davinci_evm_init(void)
789 792
790 platform_add_devices(davinci_evm_devices, 793 platform_add_devices(davinci_evm_devices,
791 ARRAY_SIZE(davinci_evm_devices)); 794 ARRAY_SIZE(davinci_evm_devices));
795#ifdef CONFIG_I2C
792 evm_init_i2c(); 796 evm_init_i2c();
793
794 davinci_setup_mmc(0, &dm6446evm_mmc_config); 797 davinci_setup_mmc(0, &dm6446evm_mmc_config);
798#endif
795 dm644x_init_video(&dm644xevm_capture_cfg, &dm644xevm_display_cfg); 799 dm644x_init_video(&dm644xevm_capture_cfg, &dm644xevm_display_cfg);
796 800
797 davinci_serial_init(dm644x_serial_device); 801 davinci_serial_init(dm644x_serial_device);
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c
index ee6ab7e8d3b0..f702d4fc8eb8 100644
--- a/arch/arm/mach-davinci/board-dm646x-evm.c
+++ b/arch/arm/mach-davinci/board-dm646x-evm.c
@@ -121,6 +121,7 @@ static struct platform_device davinci_nand_device = {
121 121
122#define HAS_ATA IS_ENABLED(CONFIG_BLK_DEV_PALMCHIP_BK3710) 122#define HAS_ATA IS_ENABLED(CONFIG_BLK_DEV_PALMCHIP_BK3710)
123 123
124#ifdef CONFIG_I2C
124/* CPLD Register 0 bits to control ATA */ 125/* CPLD Register 0 bits to control ATA */
125#define DM646X_EVM_ATA_RST BIT(0) 126#define DM646X_EVM_ATA_RST BIT(0)
126#define DM646X_EVM_ATA_PWD BIT(1) 127#define DM646X_EVM_ATA_PWD BIT(1)
@@ -316,6 +317,7 @@ static struct at24_platform_data eeprom_info = {
316 .setup = davinci_get_mac_addr, 317 .setup = davinci_get_mac_addr,
317 .context = (void *)0x7f00, 318 .context = (void *)0x7f00,
318}; 319};
320#endif
319 321
320static u8 dm646x_iis_serializer_direction[] = { 322static u8 dm646x_iis_serializer_direction[] = {
321 TX_MODE, RX_MODE, INACTIVE_MODE, INACTIVE_MODE, 323 TX_MODE, RX_MODE, INACTIVE_MODE, INACTIVE_MODE,
@@ -346,6 +348,7 @@ static struct snd_platform_data dm646x_evm_snd_data[] = {
346 }, 348 },
347}; 349};
348 350
351#ifdef CONFIG_I2C
349static struct i2c_client *cpld_client; 352static struct i2c_client *cpld_client;
350 353
351static int cpld_video_probe(struct i2c_client *client, 354static int cpld_video_probe(struct i2c_client *client,
@@ -710,6 +713,7 @@ static void __init evm_init_i2c(void)
710 evm_init_cpld(); 713 evm_init_cpld();
711 evm_init_video(); 714 evm_init_video();
712} 715}
716#endif
713 717
714#define DM6467T_EVM_REF_FREQ 33000000 718#define DM6467T_EVM_REF_FREQ 33000000
715 719
@@ -764,7 +768,10 @@ static __init void evm_init(void)
764 if (ret) 768 if (ret)
765 pr_warn("%s: GPIO init failed: %d\n", __func__, ret); 769 pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
766 770
771#ifdef CONFIG_I2C
767 evm_init_i2c(); 772 evm_init_i2c();
773#endif
774
768 davinci_serial_init(dm646x_serial_device); 775 davinci_serial_init(dm646x_serial_device);
769 dm646x_init_mcasp0(&dm646x_evm_snd_data[0]); 776 dm646x_init_mcasp0(&dm646x_evm_snd_data[0]);
770 dm646x_init_mcasp1(&dm646x_evm_snd_data[1]); 777 dm646x_init_mcasp1(&dm646x_evm_snd_data[1]);
diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c
index 62ebac51bab9..d97c588550ad 100644
--- a/arch/arm/mach-davinci/board-mityomapl138.c
+++ b/arch/arm/mach-davinci/board-mityomapl138.c
@@ -51,6 +51,7 @@ struct factory_config {
51 51
52static struct factory_config factory_config; 52static struct factory_config factory_config;
53 53
54#ifdef CONFIG_CPU_FREQ
54struct part_no_info { 55struct part_no_info {
55 const char *part_no; /* part number string of interest */ 56 const char *part_no; /* part number string of interest */
56 int max_freq; /* khz */ 57 int max_freq; /* khz */
@@ -87,7 +88,6 @@ static struct part_no_info mityomapl138_pn_info[] = {
87 }, 88 },
88}; 89};
89 90
90#ifdef CONFIG_CPU_FREQ
91static void mityomapl138_cpufreq_init(const char *partnum) 91static void mityomapl138_cpufreq_init(const char *partnum)
92{ 92{
93 int i, ret; 93 int i, ret;
diff --git a/arch/arm/mach-dove/Kconfig b/arch/arm/mach-dove/Kconfig
index d8c439c89ea9..0bd6d894c597 100644
--- a/arch/arm/mach-dove/Kconfig
+++ b/arch/arm/mach-dove/Kconfig
@@ -8,7 +8,7 @@ config DOVE_LEGACY
8config MACH_DOVE_DB 8config MACH_DOVE_DB
9 bool "Marvell DB-MV88AP510 Development Board" 9 bool "Marvell DB-MV88AP510 Development Board"
10 select DOVE_LEGACY 10 select DOVE_LEGACY
11 select I2C_BOARDINFO 11 select I2C_BOARDINFO if I2C
12 help 12 help
13 Say 'Y' here if you want your kernel to support the 13 Say 'Y' here if you want your kernel to support the
14 Marvell DB-MV88AP510 Development Board. 14 Marvell DB-MV88AP510 Development Board.
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 652a0bb11578..5189bcecad12 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -27,6 +27,7 @@ menuconfig ARCH_EXYNOS
27 select S5P_DEV_MFC 27 select S5P_DEV_MFC
28 select SRAM 28 select SRAM
29 select THERMAL 29 select THERMAL
30 select THERMAL_OF
30 select MFD_SYSCON 31 select MFD_SYSCON
31 select CLKSRC_EXYNOS_MCT 32 select CLKSRC_EXYNOS_MCT
32 select POWER_RESET 33 select POWER_RESET
diff --git a/arch/arm/mach-ks8695/board-og.c b/arch/arm/mach-ks8695/board-og.c
index 1f4f2f4f25bb..478ebd1f2b0f 100644
--- a/arch/arm/mach-ks8695/board-og.c
+++ b/arch/arm/mach-ks8695/board-og.c
@@ -80,7 +80,7 @@ static void __init og_pci_bus_reset(void)
80#define S8250_VIRT 0xf4000000 80#define S8250_VIRT 0xf4000000
81#define S8250_SIZE 0x00100000 81#define S8250_SIZE 0x00100000
82 82
83static struct __initdata map_desc og_io_desc[] = { 83static struct map_desc og_io_desc[] __initdata = {
84 { 84 {
85 .virtual = S8250_VIRT, 85 .virtual = S8250_VIRT,
86 .pfn = __phys_to_pfn(S8250_PHYS), 86 .pfn = __phys_to_pfn(S8250_PHYS),
diff --git a/arch/arm/mach-ks8695/cpu.c b/arch/arm/mach-ks8695/cpu.c
index 474a050da85b..7a1c4caa1ab5 100644
--- a/arch/arm/mach-ks8695/cpu.c
+++ b/arch/arm/mach-ks8695/cpu.c
@@ -34,7 +34,7 @@
34#include <mach/regs-misc.h> 34#include <mach/regs-misc.h>
35 35
36 36
37static struct __initdata map_desc ks8695_io_desc[] = { 37static struct map_desc ks8695_io_desc[] __initdata = {
38 { 38 {
39 .virtual = (unsigned long)KS8695_IO_VA, 39 .virtual = (unsigned long)KS8695_IO_VA,
40 .pfn = __phys_to_pfn(KS8695_IO_PA), 40 .pfn = __phys_to_pfn(KS8695_IO_PA),
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c
index a1a04df9c05c..99cc93900a24 100644
--- a/arch/arm/mach-mv78xx0/common.c
+++ b/arch/arm/mach-mv78xx0/common.c
@@ -405,9 +405,8 @@ void __init mv78xx0_init(void)
405 printk("HCLK = %dMHz, ", (hclk + 499999) / 1000000); 405 printk("HCLK = %dMHz, ", (hclk + 499999) / 1000000);
406 printk("TCLK = %dMHz\n", (get_tclk() + 499999) / 1000000); 406 printk("TCLK = %dMHz\n", (get_tclk() + 499999) / 1000000);
407 407
408#ifdef CONFIG_CACHE_FEROCEON_L2 408 if (IS_ENABLED(CONFIG_CACHE_FEROCEON_L2))
409 feroceon_l2_init(is_l2_writethrough()); 409 feroceon_l2_init(is_l2_writethrough());
410#endif
411 410
412 /* Setup root of clk tree */ 411 /* Setup root of clk tree */
413 clk_init(); 412 clk_init();
diff --git a/arch/arm/mach-mvebu/coherency.c b/arch/arm/mach-mvebu/coherency.c
index 55348ee5a352..7e989d61159c 100644
--- a/arch/arm/mach-mvebu/coherency.c
+++ b/arch/arm/mach-mvebu/coherency.c
@@ -107,7 +107,7 @@ static struct notifier_block mvebu_hwcc_nb = {
107 .notifier_call = mvebu_hwcc_notifier, 107 .notifier_call = mvebu_hwcc_notifier,
108}; 108};
109 109
110static struct notifier_block mvebu_hwcc_pci_nb = { 110static struct notifier_block mvebu_hwcc_pci_nb __maybe_unused = {
111 .notifier_call = mvebu_hwcc_notifier, 111 .notifier_call = mvebu_hwcc_notifier,
112}; 112};
113 113
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index cf5855174c93..1662071bb2cc 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -36,7 +36,6 @@
36 36
37static void __iomem *omap2_ctrl_base; 37static void __iomem *omap2_ctrl_base;
38static s16 omap2_ctrl_offset; 38static s16 omap2_ctrl_offset;
39static struct regmap *omap2_ctrl_syscon;
40 39
41#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM) 40#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
42struct omap3_scratchpad { 41struct omap3_scratchpad {
@@ -166,16 +165,9 @@ u16 omap_ctrl_readw(u16 offset)
166 165
167u32 omap_ctrl_readl(u16 offset) 166u32 omap_ctrl_readl(u16 offset)
168{ 167{
169 u32 val;
170
171 offset &= 0xfffc; 168 offset &= 0xfffc;
172 if (!omap2_ctrl_syscon)
173 val = readl_relaxed(omap2_ctrl_base + offset);
174 else
175 regmap_read(omap2_ctrl_syscon, omap2_ctrl_offset + offset,
176 &val);
177 169
178 return val; 170 return readl_relaxed(omap2_ctrl_base + offset);
179} 171}
180 172
181void omap_ctrl_writeb(u8 val, u16 offset) 173void omap_ctrl_writeb(u8 val, u16 offset)
@@ -207,11 +199,7 @@ void omap_ctrl_writew(u16 val, u16 offset)
207void omap_ctrl_writel(u32 val, u16 offset) 199void omap_ctrl_writel(u32 val, u16 offset)
208{ 200{
209 offset &= 0xfffc; 201 offset &= 0xfffc;
210 if (!omap2_ctrl_syscon) 202 writel_relaxed(val, omap2_ctrl_base + offset);
211 writel_relaxed(val, omap2_ctrl_base + offset);
212 else
213 regmap_write(omap2_ctrl_syscon, omap2_ctrl_offset + offset,
214 val);
215} 203}
216 204
217#ifdef CONFIG_ARCH_OMAP3 205#ifdef CONFIG_ARCH_OMAP3
@@ -715,8 +703,6 @@ int __init omap_control_init(void)
715 if (IS_ERR(syscon)) 703 if (IS_ERR(syscon))
716 return PTR_ERR(syscon); 704 return PTR_ERR(syscon);
717 705
718 omap2_ctrl_syscon = syscon;
719
720 if (of_get_child_by_name(scm_conf, "clocks")) { 706 if (of_get_child_by_name(scm_conf, "clocks")) {
721 ret = omap2_clk_provider_init(scm_conf, 707 ret = omap2_clk_provider_init(scm_conf,
722 data->index, 708 data->index,
@@ -724,9 +710,6 @@ int __init omap_control_init(void)
724 if (ret) 710 if (ret)
725 return ret; 711 return ret;
726 } 712 }
727
728 iounmap(omap2_ctrl_base);
729 omap2_ctrl_base = NULL;
730 } else { 713 } else {
731 /* No scm_conf found, direct access */ 714 /* No scm_conf found, direct access */
732 ret = omap2_clk_provider_init(np, data->index, NULL, 715 ret = omap2_clk_provider_init(np, data->index, NULL,
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
index aa7b379e2661..2a3db0bd9e15 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -34,6 +34,7 @@
34#include "pm.h" 34#include "pm.h"
35#include "control.h" 35#include "control.h"
36#include "common.h" 36#include "common.h"
37#include "soc.h"
37 38
38/* Mach specific information to be recorded in the C-state driver_data */ 39/* Mach specific information to be recorded in the C-state driver_data */
39struct omap3_idle_statedata { 40struct omap3_idle_statedata {
@@ -315,6 +316,69 @@ static struct cpuidle_driver omap3_idle_driver = {
315 .safe_state_index = 0, 316 .safe_state_index = 0,
316}; 317};
317 318
319/*
320 * Numbers based on measurements made in October 2009 for PM optimized kernel
321 * with CPU freq enabled on device Nokia N900. Assumes OPP2 (main idle OPP,
322 * and worst case latencies).
323 */
324static struct cpuidle_driver omap3430_idle_driver = {
325 .name = "omap3430_idle",
326 .owner = THIS_MODULE,
327 .states = {
328 {
329 .enter = omap3_enter_idle_bm,
330 .exit_latency = 110 + 162,
331 .target_residency = 5,
332 .name = "C1",
333 .desc = "MPU ON + CORE ON",
334 },
335 {
336 .enter = omap3_enter_idle_bm,
337 .exit_latency = 106 + 180,
338 .target_residency = 309,
339 .name = "C2",
340 .desc = "MPU ON + CORE ON",
341 },
342 {
343 .enter = omap3_enter_idle_bm,
344 .exit_latency = 107 + 410,
345 .target_residency = 46057,
346 .name = "C3",
347 .desc = "MPU RET + CORE ON",
348 },
349 {
350 .enter = omap3_enter_idle_bm,
351 .exit_latency = 121 + 3374,
352 .target_residency = 46057,
353 .name = "C4",
354 .desc = "MPU OFF + CORE ON",
355 },
356 {
357 .enter = omap3_enter_idle_bm,
358 .exit_latency = 855 + 1146,
359 .target_residency = 46057,
360 .name = "C5",
361 .desc = "MPU RET + CORE RET",
362 },
363 {
364 .enter = omap3_enter_idle_bm,
365 .exit_latency = 7580 + 4134,
366 .target_residency = 484329,
367 .name = "C6",
368 .desc = "MPU OFF + CORE RET",
369 },
370 {
371 .enter = omap3_enter_idle_bm,
372 .exit_latency = 7505 + 15274,
373 .target_residency = 484329,
374 .name = "C7",
375 .desc = "MPU OFF + CORE OFF",
376 },
377 },
378 .state_count = ARRAY_SIZE(omap3_idle_data),
379 .safe_state_index = 0,
380};
381
318/* Public functions */ 382/* Public functions */
319 383
320/** 384/**
@@ -333,5 +397,8 @@ int __init omap3_idle_init(void)
333 if (!mpu_pd || !core_pd || !per_pd || !cam_pd) 397 if (!mpu_pd || !core_pd || !per_pd || !cam_pd)
334 return -ENODEV; 398 return -ENODEV;
335 399
336 return cpuidle_register(&omap3_idle_driver, NULL); 400 if (cpu_is_omap3430())
401 return cpuidle_register(&omap3430_idle_driver, NULL);
402 else
403 return cpuidle_register(&omap3_idle_driver, NULL);
337} 404}
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 0a985325cd64..9869a75c5d96 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -3583,14 +3583,14 @@ static struct omap_hwmod_class_sysconfig omap34xx_ssi_sysc = {
3583 .sysc_fields = &omap_hwmod_sysc_type1, 3583 .sysc_fields = &omap_hwmod_sysc_type1,
3584}; 3584};
3585 3585
3586static struct omap_hwmod_class omap34xx_ssi_hwmod_class = { 3586static struct omap_hwmod_class omap3xxx_ssi_hwmod_class = {
3587 .name = "ssi", 3587 .name = "ssi",
3588 .sysc = &omap34xx_ssi_sysc, 3588 .sysc = &omap34xx_ssi_sysc,
3589}; 3589};
3590 3590
3591static struct omap_hwmod omap34xx_ssi_hwmod = { 3591static struct omap_hwmod omap3xxx_ssi_hwmod = {
3592 .name = "ssi", 3592 .name = "ssi",
3593 .class = &omap34xx_ssi_hwmod_class, 3593 .class = &omap3xxx_ssi_hwmod_class,
3594 .clkdm_name = "core_l4_clkdm", 3594 .clkdm_name = "core_l4_clkdm",
3595 .main_clk = "ssi_ssr_fck", 3595 .main_clk = "ssi_ssr_fck",
3596 .prcm = { 3596 .prcm = {
@@ -3605,9 +3605,9 @@ static struct omap_hwmod omap34xx_ssi_hwmod = {
3605}; 3605};
3606 3606
3607/* L4 CORE -> SSI */ 3607/* L4 CORE -> SSI */
3608static struct omap_hwmod_ocp_if omap34xx_l4_core__ssi = { 3608static struct omap_hwmod_ocp_if omap3xxx_l4_core__ssi = {
3609 .master = &omap3xxx_l4_core_hwmod, 3609 .master = &omap3xxx_l4_core_hwmod,
3610 .slave = &omap34xx_ssi_hwmod, 3610 .slave = &omap3xxx_ssi_hwmod,
3611 .clk = "ssi_ick", 3611 .clk = "ssi_ick",
3612 .user = OCP_USER_MPU | OCP_USER_SDMA, 3612 .user = OCP_USER_MPU | OCP_USER_SDMA,
3613}; 3613};
@@ -3760,7 +3760,7 @@ static struct omap_hwmod_ocp_if *omap34xx_hwmod_ocp_ifs[] __initdata = {
3760 &omap3xxx_sad2d__l3, 3760 &omap3xxx_sad2d__l3,
3761 &omap3xxx_l4_core__mmu_isp, 3761 &omap3xxx_l4_core__mmu_isp,
3762 &omap3xxx_l3_main__mmu_iva, 3762 &omap3xxx_l3_main__mmu_iva,
3763 &omap34xx_l4_core__ssi, 3763 &omap3xxx_l4_core__ssi,
3764 NULL 3764 NULL
3765}; 3765};
3766 3766
@@ -3784,6 +3784,7 @@ static struct omap_hwmod_ocp_if *omap36xx_hwmod_ocp_ifs[] __initdata = {
3784 &omap3xxx_sad2d__l3, 3784 &omap3xxx_sad2d__l3,
3785 &omap3xxx_l4_core__mmu_isp, 3785 &omap3xxx_l4_core__mmu_isp,
3786 &omap3xxx_l3_main__mmu_iva, 3786 &omap3xxx_l3_main__mmu_iva,
3787 &omap3xxx_l4_core__ssi,
3787 NULL 3788 NULL
3788}; 3789};
3789 3790
diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
index 848356e38b74..b61355e2a771 100644
--- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
@@ -1482,8 +1482,7 @@ static struct omap_hwmod_class_sysconfig dra7xx_ocp2scp_sysc = {
1482 .syss_offs = 0x0014, 1482 .syss_offs = 0x0014,
1483 .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE | 1483 .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
1484 SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 1484 SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
1485 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 1485 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
1486 SIDLE_SMART_WKUP),
1487 .sysc_fields = &omap_hwmod_sysc_type1, 1486 .sysc_fields = &omap_hwmod_sysc_type1,
1488}; 1487};
1489 1488
@@ -1532,14 +1531,21 @@ static struct omap_hwmod_class dra7xx_pciess_hwmod_class = {
1532}; 1531};
1533 1532
1534/* pcie1 */ 1533/* pcie1 */
1534static struct omap_hwmod_rst_info dra7xx_pciess1_resets[] = {
1535 { .name = "pcie", .rst_shift = 0 },
1536};
1537
1535static struct omap_hwmod dra7xx_pciess1_hwmod = { 1538static struct omap_hwmod dra7xx_pciess1_hwmod = {
1536 .name = "pcie1", 1539 .name = "pcie1",
1537 .class = &dra7xx_pciess_hwmod_class, 1540 .class = &dra7xx_pciess_hwmod_class,
1538 .clkdm_name = "pcie_clkdm", 1541 .clkdm_name = "pcie_clkdm",
1542 .rst_lines = dra7xx_pciess1_resets,
1543 .rst_lines_cnt = ARRAY_SIZE(dra7xx_pciess1_resets),
1539 .main_clk = "l4_root_clk_div", 1544 .main_clk = "l4_root_clk_div",
1540 .prcm = { 1545 .prcm = {
1541 .omap4 = { 1546 .omap4 = {
1542 .clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS1_CLKCTRL_OFFSET, 1547 .clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS1_CLKCTRL_OFFSET,
1548 .rstctrl_offs = DRA7XX_RM_L3INIT_PCIESS_RSTCTRL_OFFSET,
1543 .context_offs = DRA7XX_RM_L3INIT_PCIESS1_CONTEXT_OFFSET, 1549 .context_offs = DRA7XX_RM_L3INIT_PCIESS1_CONTEXT_OFFSET,
1544 .modulemode = MODULEMODE_SWCTRL, 1550 .modulemode = MODULEMODE_SWCTRL,
1545 }, 1551 },
@@ -1547,14 +1553,22 @@ static struct omap_hwmod dra7xx_pciess1_hwmod = {
1547}; 1553};
1548 1554
1549/* pcie2 */ 1555/* pcie2 */
1556static struct omap_hwmod_rst_info dra7xx_pciess2_resets[] = {
1557 { .name = "pcie", .rst_shift = 1 },
1558};
1559
1560/* pcie2 */
1550static struct omap_hwmod dra7xx_pciess2_hwmod = { 1561static struct omap_hwmod dra7xx_pciess2_hwmod = {
1551 .name = "pcie2", 1562 .name = "pcie2",
1552 .class = &dra7xx_pciess_hwmod_class, 1563 .class = &dra7xx_pciess_hwmod_class,
1553 .clkdm_name = "pcie_clkdm", 1564 .clkdm_name = "pcie_clkdm",
1565 .rst_lines = dra7xx_pciess2_resets,
1566 .rst_lines_cnt = ARRAY_SIZE(dra7xx_pciess2_resets),
1554 .main_clk = "l4_root_clk_div", 1567 .main_clk = "l4_root_clk_div",
1555 .prcm = { 1568 .prcm = {
1556 .omap4 = { 1569 .omap4 = {
1557 .clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS2_CLKCTRL_OFFSET, 1570 .clkctrl_offs = DRA7XX_CM_L3INIT_PCIESS2_CLKCTRL_OFFSET,
1571 .rstctrl_offs = DRA7XX_RM_L3INIT_PCIESS_RSTCTRL_OFFSET,
1558 .context_offs = DRA7XX_RM_L3INIT_PCIESS2_CONTEXT_OFFSET, 1572 .context_offs = DRA7XX_RM_L3INIT_PCIESS2_CONTEXT_OFFSET,
1559 .modulemode = MODULEMODE_SWCTRL, 1573 .modulemode = MODULEMODE_SWCTRL,
1560 }, 1574 },
diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index e493ae372910..f8cc40021729 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -429,6 +429,7 @@ static struct omap_hwmod dm81xx_elm_hwmod = {
429static struct omap_hwmod_ocp_if dm81xx_l4_ls__elm = { 429static struct omap_hwmod_ocp_if dm81xx_l4_ls__elm = {
430 .master = &dm81xx_l4_ls_hwmod, 430 .master = &dm81xx_l4_ls_hwmod,
431 .slave = &dm81xx_elm_hwmod, 431 .slave = &dm81xx_elm_hwmod,
432 .clk = "sysclk6_ck",
432 .user = OCP_USER_MPU, 433 .user = OCP_USER_MPU,
433}; 434};
434 435
@@ -478,6 +479,7 @@ static struct omap_hwmod dm81xx_gpio1_hwmod = {
478static struct omap_hwmod_ocp_if dm81xx_l4_ls__gpio1 = { 479static struct omap_hwmod_ocp_if dm81xx_l4_ls__gpio1 = {
479 .master = &dm81xx_l4_ls_hwmod, 480 .master = &dm81xx_l4_ls_hwmod,
480 .slave = &dm81xx_gpio1_hwmod, 481 .slave = &dm81xx_gpio1_hwmod,
482 .clk = "sysclk6_ck",
481 .user = OCP_USER_MPU, 483 .user = OCP_USER_MPU,
482}; 484};
483 485
@@ -504,6 +506,7 @@ static struct omap_hwmod dm81xx_gpio2_hwmod = {
504static struct omap_hwmod_ocp_if dm81xx_l4_ls__gpio2 = { 506static struct omap_hwmod_ocp_if dm81xx_l4_ls__gpio2 = {
505 .master = &dm81xx_l4_ls_hwmod, 507 .master = &dm81xx_l4_ls_hwmod,
506 .slave = &dm81xx_gpio2_hwmod, 508 .slave = &dm81xx_gpio2_hwmod,
509 .clk = "sysclk6_ck",
507 .user = OCP_USER_MPU, 510 .user = OCP_USER_MPU,
508}; 511};
509 512
@@ -628,7 +631,7 @@ static struct omap_hwmod dm814x_timer1_hwmod = {
628static struct omap_hwmod_ocp_if dm814x_l4_ls__timer1 = { 631static struct omap_hwmod_ocp_if dm814x_l4_ls__timer1 = {
629 .master = &dm81xx_l4_ls_hwmod, 632 .master = &dm81xx_l4_ls_hwmod,
630 .slave = &dm814x_timer1_hwmod, 633 .slave = &dm814x_timer1_hwmod,
631 .clk = "timer1_fck", 634 .clk = "sysclk6_ck",
632 .user = OCP_USER_MPU, 635 .user = OCP_USER_MPU,
633}; 636};
634 637
@@ -665,7 +668,7 @@ static struct omap_hwmod dm814x_timer2_hwmod = {
665static struct omap_hwmod_ocp_if dm814x_l4_ls__timer2 = { 668static struct omap_hwmod_ocp_if dm814x_l4_ls__timer2 = {
666 .master = &dm81xx_l4_ls_hwmod, 669 .master = &dm81xx_l4_ls_hwmod,
667 .slave = &dm814x_timer2_hwmod, 670 .slave = &dm814x_timer2_hwmod,
668 .clk = "timer2_fck", 671 .clk = "sysclk6_ck",
669 .user = OCP_USER_MPU, 672 .user = OCP_USER_MPU,
670}; 673};
671 674
@@ -1123,6 +1126,7 @@ static struct omap_hwmod dm81xx_mailbox_hwmod = {
1123static struct omap_hwmod_ocp_if dm81xx_l4_ls__mailbox = { 1126static struct omap_hwmod_ocp_if dm81xx_l4_ls__mailbox = {
1124 .master = &dm81xx_l4_ls_hwmod, 1127 .master = &dm81xx_l4_ls_hwmod,
1125 .slave = &dm81xx_mailbox_hwmod, 1128 .slave = &dm81xx_mailbox_hwmod,
1129 .clk = "sysclk6_ck",
1126 .user = OCP_USER_MPU, 1130 .user = OCP_USER_MPU,
1127}; 1131};
1128 1132
@@ -1157,6 +1161,7 @@ static struct omap_hwmod dm81xx_spinbox_hwmod = {
1157static struct omap_hwmod_ocp_if dm81xx_l4_ls__spinbox = { 1161static struct omap_hwmod_ocp_if dm81xx_l4_ls__spinbox = {
1158 .master = &dm81xx_l4_ls_hwmod, 1162 .master = &dm81xx_l4_ls_hwmod,
1159 .slave = &dm81xx_spinbox_hwmod, 1163 .slave = &dm81xx_spinbox_hwmod,
1164 .clk = "sysclk6_ck",
1160 .user = OCP_USER_MPU, 1165 .user = OCP_USER_MPU,
1161}; 1166};
1162 1167
diff --git a/arch/arm/mach-omap2/prm7xx.h b/arch/arm/mach-omap2/prm7xx.h
index cc1e6a2b97f6..294deed956f3 100644
--- a/arch/arm/mach-omap2/prm7xx.h
+++ b/arch/arm/mach-omap2/prm7xx.h
@@ -360,6 +360,7 @@
360/* PRM.L3INIT_PRM register offsets */ 360/* PRM.L3INIT_PRM register offsets */
361#define DRA7XX_PM_L3INIT_PWRSTCTRL_OFFSET 0x0000 361#define DRA7XX_PM_L3INIT_PWRSTCTRL_OFFSET 0x0000
362#define DRA7XX_PM_L3INIT_PWRSTST_OFFSET 0x0004 362#define DRA7XX_PM_L3INIT_PWRSTST_OFFSET 0x0004
363#define DRA7XX_RM_L3INIT_PCIESS_RSTCTRL_OFFSET 0x0010
363#define DRA7XX_PM_L3INIT_MMC1_WKDEP_OFFSET 0x0028 364#define DRA7XX_PM_L3INIT_MMC1_WKDEP_OFFSET 0x0028
364#define DRA7XX_RM_L3INIT_MMC1_CONTEXT_OFFSET 0x002c 365#define DRA7XX_RM_L3INIT_MMC1_CONTEXT_OFFSET 0x002c
365#define DRA7XX_PM_L3INIT_MMC2_WKDEP_OFFSET 0x0030 366#define DRA7XX_PM_L3INIT_MMC2_WKDEP_OFFSET 0x0030
diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig
index a9ad95f000a1..a2af15822fcb 100644
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -28,14 +28,14 @@ config ARCH_ORION5X_DT
28 28
29config MACH_DB88F5281 29config MACH_DB88F5281
30 bool "Marvell Orion-2 Development Board" 30 bool "Marvell Orion-2 Development Board"
31 select I2C_BOARDINFO 31 select I2C_BOARDINFO if I2C
32 help 32 help
33 Say 'Y' here if you want your kernel to support the 33 Say 'Y' here if you want your kernel to support the
34 Marvell Orion-2 (88F5281) Development Board 34 Marvell Orion-2 (88F5281) Development Board
35 35
36config MACH_RD88F5182 36config MACH_RD88F5182
37 bool "Marvell Orion-NAS Reference Design" 37 bool "Marvell Orion-NAS Reference Design"
38 select I2C_BOARDINFO 38 select I2C_BOARDINFO if I2C
39 help 39 help
40 Say 'Y' here if you want your kernel to support the 40 Say 'Y' here if you want your kernel to support the
41 Marvell Orion-NAS (88F5182) RD2 41 Marvell Orion-NAS (88F5182) RD2
@@ -43,14 +43,14 @@ config MACH_RD88F5182
43config MACH_RD88F5182_DT 43config MACH_RD88F5182_DT
44 bool "Marvell Orion-NAS Reference Design (Flattened Device Tree)" 44 bool "Marvell Orion-NAS Reference Design (Flattened Device Tree)"
45 select ARCH_ORION5X_DT 45 select ARCH_ORION5X_DT
46 select I2C_BOARDINFO 46 select I2C_BOARDINFO if I2C
47 help 47 help
48 Say 'Y' here if you want your kernel to support the Marvell 48 Say 'Y' here if you want your kernel to support the Marvell
49 Orion-NAS (88F5182) RD2, Flattened Device Tree. 49 Orion-NAS (88F5182) RD2, Flattened Device Tree.
50 50
51config MACH_KUROBOX_PRO 51config MACH_KUROBOX_PRO
52 bool "KuroBox Pro" 52 bool "KuroBox Pro"
53 select I2C_BOARDINFO 53 select I2C_BOARDINFO if I2C
54 help 54 help
55 Say 'Y' here if you want your kernel to support the 55 Say 'Y' here if you want your kernel to support the
56 KuroBox Pro platform. 56 KuroBox Pro platform.
@@ -58,7 +58,7 @@ config MACH_KUROBOX_PRO
58config MACH_DNS323 58config MACH_DNS323
59 bool "D-Link DNS-323" 59 bool "D-Link DNS-323"
60 select GENERIC_NET_UTILS 60 select GENERIC_NET_UTILS
61 select I2C_BOARDINFO 61 select I2C_BOARDINFO if I2C
62 help 62 help
63 Say 'Y' here if you want your kernel to support the 63 Say 'Y' here if you want your kernel to support the
64 D-Link DNS-323 platform. 64 D-Link DNS-323 platform.
@@ -78,7 +78,7 @@ config MACH_TERASTATION_PRO2
78 78
79config MACH_LINKSTATION_PRO 79config MACH_LINKSTATION_PRO
80 bool "Buffalo Linkstation Pro/Live" 80 bool "Buffalo Linkstation Pro/Live"
81 select I2C_BOARDINFO 81 select I2C_BOARDINFO if I2C
82 help 82 help
83 Say 'Y' here if you want your kernel to support the 83 Say 'Y' here if you want your kernel to support the
84 Buffalo Linkstation Pro/Live platform. Both v1 and 84 Buffalo Linkstation Pro/Live platform. Both v1 and
@@ -86,7 +86,7 @@ config MACH_LINKSTATION_PRO
86 86
87config MACH_LINKSTATION_LSCHL 87config MACH_LINKSTATION_LSCHL
88 bool "Buffalo Linkstation Live v3 (LS-CHL)" 88 bool "Buffalo Linkstation Live v3 (LS-CHL)"
89 select I2C_BOARDINFO 89 select I2C_BOARDINFO if I2C
90 help 90 help
91 Say 'Y' here if you want your kernel to support the 91 Say 'Y' here if you want your kernel to support the
92 Buffalo Linkstation Live v3 (LS-CHL) platform. 92 Buffalo Linkstation Live v3 (LS-CHL) platform.
@@ -100,7 +100,7 @@ config MACH_LINKSTATION_MINI
100 100
101config MACH_LINKSTATION_LS_HGL 101config MACH_LINKSTATION_LS_HGL
102 bool "Buffalo Linkstation LS-HGL" 102 bool "Buffalo Linkstation LS-HGL"
103 select I2C_BOARDINFO 103 select I2C_BOARDINFO if I2C
104 help 104 help
105 Say 'Y' here if you want your kernel to support the 105 Say 'Y' here if you want your kernel to support the
106 Buffalo Linkstation LS-HGL platform. 106 Buffalo Linkstation LS-HGL platform.
@@ -139,7 +139,7 @@ config MACH_D2NET_DT
139 139
140config MACH_NET2BIG 140config MACH_NET2BIG
141 bool "LaCie 2Big Network" 141 bool "LaCie 2Big Network"
142 select I2C_BOARDINFO 142 select I2C_BOARDINFO if I2C
143 help 143 help
144 Say 'Y' here if you want your kernel to support the 144 Say 'Y' here if you want your kernel to support the
145 LaCie 2Big Network NAS. 145 LaCie 2Big Network NAS.
diff --git a/arch/arm/mach-prima2/Kconfig b/arch/arm/mach-prima2/Kconfig
index f998eb1c698e..0cf4426183cf 100644
--- a/arch/arm/mach-prima2/Kconfig
+++ b/arch/arm/mach-prima2/Kconfig
@@ -2,6 +2,7 @@ menuconfig ARCH_SIRF
2 bool "CSR SiRF" 2 bool "CSR SiRF"
3 depends on ARCH_MULTI_V7 3 depends on ARCH_MULTI_V7
4 select ARCH_HAS_RESET_CONTROLLER 4 select ARCH_HAS_RESET_CONTROLLER
5 select RESET_CONTROLLER
5 select ARCH_REQUIRE_GPIOLIB 6 select ARCH_REQUIRE_GPIOLIB
6 select GENERIC_IRQ_CHIP 7 select GENERIC_IRQ_CHIP
7 select NO_IOPORT_MAP 8 select NO_IOPORT_MAP
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index ef68ecb27396..5884bbb7952e 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -405,7 +405,7 @@ config MACH_S3C2416_DT
405 405
406endif # CPU_S3C2416 406endif # CPU_S3C2416
407 407
408if CPU_S3C2440 408if CPU_S3C2440 || CPU_S3C2442
409 409
410config S3C2440_XTAL_12000000 410config S3C2440_XTAL_12000000
411 bool 411 bool
@@ -432,6 +432,9 @@ config S3C2440_PLL_16934400
432 default y if S3C24XX_PLL 432 default y if S3C24XX_PLL
433 help 433 help
434 PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals. 434 PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
435endif
436
437if CPU_S3C2440
435 438
436comment "S3C2440 Boards" 439comment "S3C2440 Boards"
437 440
@@ -460,7 +463,6 @@ config MACH_AT2440EVB
460 463
461config MACH_MINI2440 464config MACH_MINI2440
462 bool "MINI2440 development board" 465 bool "MINI2440 development board"
463 select EEPROM_AT24 if I2C
464 select LEDS_CLASS 466 select LEDS_CLASS
465 select LEDS_TRIGGERS 467 select LEDS_TRIGGERS
466 select LEDS_TRIGGER_BACKLIGHT 468 select LEDS_TRIGGER_BACKLIGHT
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c
index 6d1e0b9c5b27..27ae6877550f 100644
--- a/arch/arm/mach-s3c24xx/mach-gta02.c
+++ b/arch/arm/mach-s3c24xx/mach-gta02.c
@@ -154,6 +154,7 @@ static struct s3c2410_uartcfg gta02_uartcfgs[] = {
154#define ADC_NOM_CHG_DETECT_1A 6 154#define ADC_NOM_CHG_DETECT_1A 6
155#define ADC_NOM_CHG_DETECT_USB 43 155#define ADC_NOM_CHG_DETECT_USB 43
156 156
157#ifdef CONFIG_PCF50633_ADC
157static void 158static void
158gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res) 159gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res)
159{ 160{
@@ -174,6 +175,7 @@ gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res)
174 175
175 pcf50633_mbc_usb_curlim_set(pcf, ma); 176 pcf50633_mbc_usb_curlim_set(pcf, ma);
176} 177}
178#endif
177 179
178static struct delayed_work gta02_charger_work; 180static struct delayed_work gta02_charger_work;
179static int gta02_usb_vbus_draw; 181static int gta02_usb_vbus_draw;
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index 8a894ee3ee76..92ec8c3b42b9 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -216,7 +216,7 @@ static struct regulator_consumer_supply smdk6410_b_pwr_5v_consumers[] = {
216 REGULATOR_SUPPLY("AVDD", "0-001b"), 216 REGULATOR_SUPPLY("AVDD", "0-001b"),
217}; 217};
218 218
219static struct regulator_init_data smdk6410_b_pwr_5v_data = { 219static struct regulator_init_data __maybe_unused smdk6410_b_pwr_5v_data = {
220 .constraints = { 220 .constraints = {
221 .always_on = 1, 221 .always_on = 1,
222 }, 222 },
@@ -300,7 +300,7 @@ static struct regulator_consumer_supply smdk6410_vddarm_consumers[] = {
300}; 300};
301 301
302/* VDDARM, BUCK1 on J5 */ 302/* VDDARM, BUCK1 on J5 */
303static struct regulator_init_data smdk6410_vddarm = { 303static struct regulator_init_data __maybe_unused smdk6410_vddarm = {
304 .constraints = { 304 .constraints = {
305 .name = "PVDD_ARM", 305 .name = "PVDD_ARM",
306 .min_uV = 1000000, 306 .min_uV = 1000000,
@@ -313,7 +313,7 @@ static struct regulator_init_data smdk6410_vddarm = {
313}; 313};
314 314
315/* VDD_INT, BUCK2 on J5 */ 315/* VDD_INT, BUCK2 on J5 */
316static struct regulator_init_data smdk6410_vddint = { 316static struct regulator_init_data __maybe_unused smdk6410_vddint = {
317 .constraints = { 317 .constraints = {
318 .name = "PVDD_INT", 318 .name = "PVDD_INT",
319 .min_uV = 1000000, 319 .min_uV = 1000000,
@@ -324,7 +324,7 @@ static struct regulator_init_data smdk6410_vddint = {
324}; 324};
325 325
326/* VDD_HI, LDO3 on J5 */ 326/* VDD_HI, LDO3 on J5 */
327static struct regulator_init_data smdk6410_vddhi = { 327static struct regulator_init_data __maybe_unused smdk6410_vddhi = {
328 .constraints = { 328 .constraints = {
329 .name = "PVDD_HI", 329 .name = "PVDD_HI",
330 .always_on = 1, 330 .always_on = 1,
@@ -332,7 +332,7 @@ static struct regulator_init_data smdk6410_vddhi = {
332}; 332};
333 333
334/* VDD_PLL, LDO2 on J5 */ 334/* VDD_PLL, LDO2 on J5 */
335static struct regulator_init_data smdk6410_vddpll = { 335static struct regulator_init_data __maybe_unused smdk6410_vddpll = {
336 .constraints = { 336 .constraints = {
337 .name = "PVDD_PLL", 337 .name = "PVDD_PLL",
338 .always_on = 1, 338 .always_on = 1,
@@ -340,7 +340,7 @@ static struct regulator_init_data smdk6410_vddpll = {
340}; 340};
341 341
342/* VDD_UH_MMC, LDO5 on J5 */ 342/* VDD_UH_MMC, LDO5 on J5 */
343static struct regulator_init_data smdk6410_vdduh_mmc = { 343static struct regulator_init_data __maybe_unused smdk6410_vdduh_mmc = {
344 .constraints = { 344 .constraints = {
345 .name = "PVDD_UH+PVDD_MMC", 345 .name = "PVDD_UH+PVDD_MMC",
346 .always_on = 1, 346 .always_on = 1,
@@ -348,7 +348,7 @@ static struct regulator_init_data smdk6410_vdduh_mmc = {
348}; 348};
349 349
350/* VCCM3BT, LDO8 on J5 */ 350/* VCCM3BT, LDO8 on J5 */
351static struct regulator_init_data smdk6410_vccmc3bt = { 351static struct regulator_init_data __maybe_unused smdk6410_vccmc3bt = {
352 .constraints = { 352 .constraints = {
353 .name = "PVCCM3BT", 353 .name = "PVCCM3BT",
354 .always_on = 1, 354 .always_on = 1,
@@ -356,7 +356,7 @@ static struct regulator_init_data smdk6410_vccmc3bt = {
356}; 356};
357 357
358/* VCCM2MTV, LDO11 on J5 */ 358/* VCCM2MTV, LDO11 on J5 */
359static struct regulator_init_data smdk6410_vccm2mtv = { 359static struct regulator_init_data __maybe_unused smdk6410_vccm2mtv = {
360 .constraints = { 360 .constraints = {
361 .name = "PVCCM2MTV", 361 .name = "PVCCM2MTV",
362 .always_on = 1, 362 .always_on = 1,
@@ -364,7 +364,7 @@ static struct regulator_init_data smdk6410_vccm2mtv = {
364}; 364};
365 365
366/* VDD_LCD, LDO12 on J5 */ 366/* VDD_LCD, LDO12 on J5 */
367static struct regulator_init_data smdk6410_vddlcd = { 367static struct regulator_init_data __maybe_unused smdk6410_vddlcd = {
368 .constraints = { 368 .constraints = {
369 .name = "PVDD_LCD", 369 .name = "PVDD_LCD",
370 .always_on = 1, 370 .always_on = 1,
@@ -372,7 +372,7 @@ static struct regulator_init_data smdk6410_vddlcd = {
372}; 372};
373 373
374/* VDD_OTGI, LDO9 on J5 */ 374/* VDD_OTGI, LDO9 on J5 */
375static struct regulator_init_data smdk6410_vddotgi = { 375static struct regulator_init_data __maybe_unused smdk6410_vddotgi = {
376 .constraints = { 376 .constraints = {
377 .name = "PVDD_OTGI", 377 .name = "PVDD_OTGI",
378 .always_on = 1, 378 .always_on = 1,
@@ -380,7 +380,7 @@ static struct regulator_init_data smdk6410_vddotgi = {
380}; 380};
381 381
382/* VDD_OTG, LDO14 on J5 */ 382/* VDD_OTG, LDO14 on J5 */
383static struct regulator_init_data smdk6410_vddotg = { 383static struct regulator_init_data __maybe_unused smdk6410_vddotg = {
384 .constraints = { 384 .constraints = {
385 .name = "PVDD_OTG", 385 .name = "PVDD_OTG",
386 .always_on = 1, 386 .always_on = 1,
@@ -388,7 +388,7 @@ static struct regulator_init_data smdk6410_vddotg = {
388}; 388};
389 389
390/* VDD_ALIVE, LDO15 on J5 */ 390/* VDD_ALIVE, LDO15 on J5 */
391static struct regulator_init_data smdk6410_vddalive = { 391static struct regulator_init_data __maybe_unused smdk6410_vddalive = {
392 .constraints = { 392 .constraints = {
393 .name = "PVDD_ALIVE", 393 .name = "PVDD_ALIVE",
394 .always_on = 1, 394 .always_on = 1,
@@ -396,7 +396,7 @@ static struct regulator_init_data smdk6410_vddalive = {
396}; 396};
397 397
398/* VDD_AUDIO, VLDO_AUDIO on J5 */ 398/* VDD_AUDIO, VLDO_AUDIO on J5 */
399static struct regulator_init_data smdk6410_vddaudio = { 399static struct regulator_init_data __maybe_unused smdk6410_vddaudio = {
400 .constraints = { 400 .constraints = {
401 .name = "PVDD_AUDIO", 401 .name = "PVDD_AUDIO",
402 .always_on = 1, 402 .always_on = 1,
@@ -406,7 +406,7 @@ static struct regulator_init_data smdk6410_vddaudio = {
406 406
407#ifdef CONFIG_SMDK6410_WM1190_EV1 407#ifdef CONFIG_SMDK6410_WM1190_EV1
408/* S3C64xx internal logic & PLL */ 408/* S3C64xx internal logic & PLL */
409static struct regulator_init_data wm8350_dcdc1_data = { 409static struct regulator_init_data __maybe_unused wm8350_dcdc1_data = {
410 .constraints = { 410 .constraints = {
411 .name = "PVDD_INT+PVDD_PLL", 411 .name = "PVDD_INT+PVDD_PLL",
412 .min_uV = 1200000, 412 .min_uV = 1200000,
@@ -417,7 +417,7 @@ static struct regulator_init_data wm8350_dcdc1_data = {
417}; 417};
418 418
419/* Memory */ 419/* Memory */
420static struct regulator_init_data wm8350_dcdc3_data = { 420static struct regulator_init_data __maybe_unused wm8350_dcdc3_data = {
421 .constraints = { 421 .constraints = {
422 .name = "PVDD_MEM", 422 .name = "PVDD_MEM",
423 .min_uV = 1800000, 423 .min_uV = 1800000,
@@ -437,7 +437,7 @@ static struct regulator_consumer_supply wm8350_dcdc4_consumers[] = {
437 REGULATOR_SUPPLY("DVDD", "0-001b"), 437 REGULATOR_SUPPLY("DVDD", "0-001b"),
438}; 438};
439 439
440static struct regulator_init_data wm8350_dcdc4_data = { 440static struct regulator_init_data __maybe_unused wm8350_dcdc4_data = {
441 .constraints = { 441 .constraints = {
442 .name = "PVDD_HI+PVDD_EXT+PVDD_SYS+PVCCM2MTV", 442 .name = "PVDD_HI+PVDD_EXT+PVDD_SYS+PVCCM2MTV",
443 .min_uV = 3000000, 443 .min_uV = 3000000,
@@ -449,7 +449,7 @@ static struct regulator_init_data wm8350_dcdc4_data = {
449}; 449};
450 450
451/* OTGi/1190-EV1 HPVDD & AVDD */ 451/* OTGi/1190-EV1 HPVDD & AVDD */
452static struct regulator_init_data wm8350_ldo4_data = { 452static struct regulator_init_data __maybe_unused wm8350_ldo4_data = {
453 .constraints = { 453 .constraints = {
454 .name = "PVDD_OTGI+HPVDD+AVDD", 454 .name = "PVDD_OTGI+HPVDD+AVDD",
455 .min_uV = 1200000, 455 .min_uV = 1200000,
@@ -537,7 +537,7 @@ static struct wm831x_backlight_pdata wm1192_backlight_pdata = {
537 .max_uA = 27554, 537 .max_uA = 27554,
538}; 538};
539 539
540static struct regulator_init_data wm1192_dcdc3 = { 540static struct regulator_init_data __maybe_unused wm1192_dcdc3 = {
541 .constraints = { 541 .constraints = {
542 .name = "PVDD_MEM+PVDD_GPS", 542 .name = "PVDD_MEM+PVDD_GPS",
543 .always_on = 1, 543 .always_on = 1,
@@ -548,7 +548,7 @@ static struct regulator_consumer_supply wm1192_ldo1_consumers[] = {
548 REGULATOR_SUPPLY("DVDD", "0-001b"), /* WM8580 */ 548 REGULATOR_SUPPLY("DVDD", "0-001b"), /* WM8580 */
549}; 549};
550 550
551static struct regulator_init_data wm1192_ldo1 = { 551static struct regulator_init_data __maybe_unused wm1192_ldo1 = {
552 .constraints = { 552 .constraints = {
553 .name = "PVDD_LCD+PVDD_EXT", 553 .name = "PVDD_LCD+PVDD_EXT",
554 .always_on = 1, 554 .always_on = 1,
diff --git a/arch/arm/mach-socfpga/platsmp.c b/arch/arm/mach-socfpga/platsmp.c
index cbb0a54df80a..07945748b571 100644
--- a/arch/arm/mach-socfpga/platsmp.c
+++ b/arch/arm/mach-socfpga/platsmp.c
@@ -94,6 +94,7 @@ static void __init socfpga_smp_prepare_cpus(unsigned int max_cpus)
94 scu_enable(socfpga_scu_base_addr); 94 scu_enable(socfpga_scu_base_addr);
95} 95}
96 96
97#ifdef CONFIG_HOTPLUG_CPU
97/* 98/*
98 * platform-specific code to shutdown a CPU 99 * platform-specific code to shutdown a CPU
99 * 100 *
@@ -116,6 +117,7 @@ static int socfpga_cpu_kill(unsigned int cpu)
116{ 117{
117 return 1; 118 return 1;
118} 119}
120#endif
119 121
120static const struct smp_operations socfpga_smp_ops __initconst = { 122static const struct smp_operations socfpga_smp_ops __initconst = {
121 .smp_prepare_cpus = socfpga_smp_prepare_cpus, 123 .smp_prepare_cpus = socfpga_smp_prepare_cpus,
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index a0ffaad1fb61..a557955472ea 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -76,17 +76,19 @@ static struct arm_pmu_platdata db8500_pmu_platdata = {
76static const char *db8500_read_soc_id(void) 76static const char *db8500_read_soc_id(void)
77{ 77{
78 void __iomem *uid; 78 void __iomem *uid;
79 const char *retstr;
79 80
80 uid = ioremap(U8500_BB_UID_BASE, 0x20); 81 uid = ioremap(U8500_BB_UID_BASE, 0x20);
81 if (!uid) 82 if (!uid)
82 return NULL; 83 return NULL;
83 /* Throw these device-specific numbers into the entropy pool */ 84 /* Throw these device-specific numbers into the entropy pool */
84 add_device_randomness(uid, 0x14); 85 add_device_randomness(uid, 0x14);
85 return kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x", 86 retstr = kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x",
86 readl((u32 *)uid+0), 87 readl((u32 *)uid+0),
87 readl((u32 *)uid+1), readl((u32 *)uid+2), 88 readl((u32 *)uid+1), readl((u32 *)uid+2),
88 readl((u32 *)uid+3), readl((u32 *)uid+4)); 89 readl((u32 *)uid+3), readl((u32 *)uid+4));
89 iounmap(uid); 90 iounmap(uid);
91 return retstr;
90} 92}
91 93
92static struct device * __init db8500_soc_device_init(void) 94static struct device * __init db8500_soc_device_init(void)
diff --git a/drivers/soc/ti/knav_qmss.h b/drivers/soc/ti/knav_qmss.h
index 6ff936cacb70..905b974d1bdc 100644
--- a/drivers/soc/ti/knav_qmss.h
+++ b/drivers/soc/ti/knav_qmss.h
@@ -93,13 +93,13 @@ struct knav_reg_pdsp_regs {
93struct knav_reg_acc_command { 93struct knav_reg_acc_command {
94 u32 command; 94 u32 command;
95 u32 queue_mask; 95 u32 queue_mask;
96 u32 list_phys; 96 u32 list_dma;
97 u32 queue_num; 97 u32 queue_num;
98 u32 timer_config; 98 u32 timer_config;
99}; 99};
100 100
101struct knav_link_ram_block { 101struct knav_link_ram_block {
102 dma_addr_t phys; 102 dma_addr_t dma;
103 void *virt; 103 void *virt;
104 size_t size; 104 size_t size;
105}; 105};
diff --git a/drivers/soc/ti/knav_qmss_acc.c b/drivers/soc/ti/knav_qmss_acc.c
index d2d48f2802bc..0612ebae0a09 100644
--- a/drivers/soc/ti/knav_qmss_acc.c
+++ b/drivers/soc/ti/knav_qmss_acc.c
@@ -122,8 +122,8 @@ static irqreturn_t knav_acc_int_handler(int irq, void *_instdata)
122 channel = acc->channel; 122 channel = acc->channel;
123 list_dma = acc->list_dma[acc->list_index]; 123 list_dma = acc->list_dma[acc->list_index];
124 list_cpu = acc->list_cpu[acc->list_index]; 124 list_cpu = acc->list_cpu[acc->list_index];
125 dev_dbg(kdev->dev, "acc-irq: channel %d, list %d, virt %p, phys %x\n", 125 dev_dbg(kdev->dev, "acc-irq: channel %d, list %d, virt %p, dma %pad\n",
126 channel, acc->list_index, list_cpu, list_dma); 126 channel, acc->list_index, list_cpu, &list_dma);
127 if (atomic_read(&acc->retrigger_count)) { 127 if (atomic_read(&acc->retrigger_count)) {
128 atomic_dec(&acc->retrigger_count); 128 atomic_dec(&acc->retrigger_count);
129 __knav_acc_notify(range, acc); 129 __knav_acc_notify(range, acc);
@@ -297,12 +297,12 @@ knav_acc_write(struct knav_device *kdev, struct knav_pdsp_info *pdsp,
297 u32 result; 297 u32 result;
298 298
299 dev_dbg(kdev->dev, "acc command %08x %08x %08x %08x %08x\n", 299 dev_dbg(kdev->dev, "acc command %08x %08x %08x %08x %08x\n",
300 cmd->command, cmd->queue_mask, cmd->list_phys, 300 cmd->command, cmd->queue_mask, cmd->list_dma,
301 cmd->queue_num, cmd->timer_config); 301 cmd->queue_num, cmd->timer_config);
302 302
303 writel_relaxed(cmd->timer_config, &pdsp->acc_command->timer_config); 303 writel_relaxed(cmd->timer_config, &pdsp->acc_command->timer_config);
304 writel_relaxed(cmd->queue_num, &pdsp->acc_command->queue_num); 304 writel_relaxed(cmd->queue_num, &pdsp->acc_command->queue_num);
305 writel_relaxed(cmd->list_phys, &pdsp->acc_command->list_phys); 305 writel_relaxed(cmd->list_dma, &pdsp->acc_command->list_dma);
306 writel_relaxed(cmd->queue_mask, &pdsp->acc_command->queue_mask); 306 writel_relaxed(cmd->queue_mask, &pdsp->acc_command->queue_mask);
307 writel_relaxed(cmd->command, &pdsp->acc_command->command); 307 writel_relaxed(cmd->command, &pdsp->acc_command->command);
308 308
@@ -337,7 +337,7 @@ static void knav_acc_setup_cmd(struct knav_device *kdev,
337 memset(cmd, 0, sizeof(*cmd)); 337 memset(cmd, 0, sizeof(*cmd));
338 cmd->command = acc->channel; 338 cmd->command = acc->channel;
339 cmd->queue_mask = queue_mask; 339 cmd->queue_mask = queue_mask;
340 cmd->list_phys = acc->list_dma[0]; 340 cmd->list_dma = (u32)acc->list_dma[0];
341 cmd->queue_num = info->list_entries << 16; 341 cmd->queue_num = info->list_entries << 16;
342 cmd->queue_num |= queue_base; 342 cmd->queue_num |= queue_base;
343 343
@@ -591,8 +591,8 @@ int knav_init_acc_range(struct knav_device *kdev,
591 acc->list_cpu[1] = list_mem + list_size; 591 acc->list_cpu[1] = list_mem + list_size;
592 acc->list_dma[0] = list_dma; 592 acc->list_dma[0] = list_dma;
593 acc->list_dma[1] = list_dma + list_size; 593 acc->list_dma[1] = list_dma + list_size;
594 dev_dbg(kdev->dev, "%s: channel %d, phys %08x, virt %8p\n", 594 dev_dbg(kdev->dev, "%s: channel %d, dma %pad, virt %8p\n",
595 acc->name, acc->channel, list_dma, list_mem); 595 acc->name, acc->channel, &list_dma, list_mem);
596 } 596 }
597 597
598 range->ops = &knav_acc_range_ops; 598 range->ops = &knav_acc_range_ops;
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
index 8c03a80b482d..b73e3534f67b 100644
--- a/drivers/soc/ti/knav_qmss_queue.c
+++ b/drivers/soc/ti/knav_qmss_queue.c
@@ -1023,9 +1023,9 @@ static void knav_queue_setup_region(struct knav_device *kdev,
1023 list_add(&pool->region_inst, &region->pools); 1023 list_add(&pool->region_inst, &region->pools);
1024 1024
1025 dev_dbg(kdev->dev, 1025 dev_dbg(kdev->dev,
1026 "region %s (%d): size:%d, link:%d@%d, phys:%08x-%08x, virt:%p-%p\n", 1026 "region %s (%d): size:%d, link:%d@%d, dma:%pad-%pad, virt:%p-%p\n",
1027 region->name, id, region->desc_size, region->num_desc, 1027 region->name, id, region->desc_size, region->num_desc,
1028 region->link_index, region->dma_start, region->dma_end, 1028 region->link_index, &region->dma_start, &region->dma_end,
1029 region->virt_start, region->virt_end); 1029 region->virt_start, region->virt_end);
1030 1030
1031 hw_desc_size = (region->desc_size / 16) - 1; 1031 hw_desc_size = (region->desc_size / 16) - 1;
@@ -1033,7 +1033,7 @@ static void knav_queue_setup_region(struct knav_device *kdev,
1033 1033
1034 for_each_qmgr(kdev, qmgr) { 1034 for_each_qmgr(kdev, qmgr) {
1035 regs = qmgr->reg_region + id; 1035 regs = qmgr->reg_region + id;
1036 writel_relaxed(region->dma_start, &regs->base); 1036 writel_relaxed((u32)region->dma_start, &regs->base);
1037 writel_relaxed(region->link_index, &regs->start_index); 1037 writel_relaxed(region->link_index, &regs->start_index);
1038 writel_relaxed(hw_desc_size << 16 | hw_num_desc, 1038 writel_relaxed(hw_desc_size << 16 | hw_num_desc,
1039 &regs->size_count); 1039 &regs->size_count);
@@ -1145,14 +1145,14 @@ static int knav_get_link_ram(struct knav_device *kdev,
1145 * queue_base specified => using internal or onchip 1145 * queue_base specified => using internal or onchip
1146 * link ram WARNING - we do not "reserve" this block 1146 * link ram WARNING - we do not "reserve" this block
1147 */ 1147 */
1148 block->phys = (dma_addr_t)temp[0]; 1148 block->dma = (dma_addr_t)temp[0];
1149 block->virt = NULL; 1149 block->virt = NULL;
1150 block->size = temp[1]; 1150 block->size = temp[1];
1151 } else { 1151 } else {
1152 block->size = temp[1]; 1152 block->size = temp[1];
1153 /* queue_base not specific => allocate requested size */ 1153 /* queue_base not specific => allocate requested size */
1154 block->virt = dmam_alloc_coherent(kdev->dev, 1154 block->virt = dmam_alloc_coherent(kdev->dev,
1155 8 * block->size, &block->phys, 1155 8 * block->size, &block->dma,
1156 GFP_KERNEL); 1156 GFP_KERNEL);
1157 if (!block->virt) { 1157 if (!block->virt) {
1158 dev_err(kdev->dev, "failed to alloc linkram\n"); 1158 dev_err(kdev->dev, "failed to alloc linkram\n");
@@ -1172,18 +1172,18 @@ static int knav_queue_setup_link_ram(struct knav_device *kdev)
1172 1172
1173 for_each_qmgr(kdev, qmgr) { 1173 for_each_qmgr(kdev, qmgr) {
1174 block = &kdev->link_rams[0]; 1174 block = &kdev->link_rams[0];
1175 dev_dbg(kdev->dev, "linkram0: phys:%x, virt:%p, size:%x\n", 1175 dev_dbg(kdev->dev, "linkram0: dma:%pad, virt:%p, size:%x\n",
1176 block->phys, block->virt, block->size); 1176 &block->dma, block->virt, block->size);
1177 writel_relaxed(block->phys, &qmgr->reg_config->link_ram_base0); 1177 writel_relaxed((u32)block->dma, &qmgr->reg_config->link_ram_base0);
1178 writel_relaxed(block->size, &qmgr->reg_config->link_ram_size0); 1178 writel_relaxed(block->size, &qmgr->reg_config->link_ram_size0);
1179 1179
1180 block++; 1180 block++;
1181 if (!block->size) 1181 if (!block->size)
1182 continue; 1182 continue;
1183 1183
1184 dev_dbg(kdev->dev, "linkram1: phys:%x, virt:%p, size:%x\n", 1184 dev_dbg(kdev->dev, "linkram1: dma:%pad, virt:%p, size:%x\n",
1185 block->phys, block->virt, block->size); 1185 &block->dma, block->virt, block->size);
1186 writel_relaxed(block->phys, &qmgr->reg_config->link_ram_base1); 1186 writel_relaxed(block->dma, &qmgr->reg_config->link_ram_base1);
1187 } 1187 }
1188 1188
1189 return 0; 1189 return 0;