aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-11 02:35:29 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-11 02:35:29 -0500
commitbeb5bfe424fdc15be6cf9a56e182192c1a7c7982 (patch)
tree1b8b6ff7341d53377ff32f3d09e74ddb3533372d
parent05ad391dbc2bd27b8d868cf9c3ec1b68a2126a16 (diff)
parent462fb38f3d2ec3deb6e60c1725bc0b6e9d4b7fdb (diff)
Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC low-priority fixes from Olof Johansson: "A set of fixes for various platforms that weren't considered bad enough to include in 3.12 (nor -stable). Mostly simple typo fixes, etc" * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: OMAP2+: irq, AM33XX add missing register check ARM: OMAP2+: wakeupgen: AM43x adaptation ARM: OMAP1: Fix a bunch of GPIO related section warnings after initdata got corrected ARM: dts: fix PL330 MDMA1 address in DT for Universal C210 board ARM: dts: Work around lack of cpufreq regulator lookup for exynos4210-origen and trats boards ARM: dts: Fix typo earlyprintk in exynos5440-sd5v1 and ssdk5440 boards ARM: dts: Correct typo in use of samsung,pin-drv for exynos5250 ARM: rockchip: remove obsolete rockchip,config properties ARM: rockchip: fix wrong use of non-existent CONFIG_LOCAL_TIMERS ARM: mach-omap1: Fix omap1510_fpga_init_irq() implicit declarations. ARM: OMAP1: fix incorrect placement of __initdata tag ARM: OMAP: remove deprecated IRQF_DISABLED ARM: OMAP2+: throw the die id into the entropy pool
-rw-r--r--arch/arm/boot/dts/exynos4210-origen.dts7
-rw-r--r--arch/arm/boot/dts/exynos4210-trats.dts7
-rw-r--r--arch/arm/boot/dts/exynos4210-universal_c210.dts4
-rw-r--r--arch/arm/boot/dts/exynos5250-pinctrl.dtsi44
-rw-r--r--arch/arm/boot/dts/exynos5440-sd5v1.dts2
-rw-r--r--arch/arm/boot/dts/exynos5440-ssdk5440.dts2
-rw-r--r--arch/arm/boot/dts/rk3066a.dtsi22
-rw-r--r--arch/arm/mach-omap1/common.h3
-rw-r--r--arch/arm/mach-omap1/fpga.c3
-rw-r--r--arch/arm/mach-omap1/gpio15xx.c8
-rw-r--r--arch/arm/mach-omap1/gpio16xx.c22
-rw-r--r--arch/arm/mach-omap1/gpio7xx.c30
-rw-r--r--arch/arm/mach-omap1/pm.c1
-rw-r--r--arch/arm/mach-omap1/time.c2
-rw-r--r--arch/arm/mach-omap1/timer32k.c2
-rw-r--r--arch/arm/mach-omap2/id.c12
-rw-r--r--arch/arm/mach-omap2/irq.c2
-rw-r--r--arch/arm/mach-omap2/omap-wakeupgen.c18
-rw-r--r--arch/arm/mach-omap2/timer.c2
-rw-r--r--arch/arm/mach-rockchip/Kconfig3
-rw-r--r--arch/arm/plat-omap/dma.c1
21 files changed, 104 insertions, 93 deletions
diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts
index 382d8c7e2906..46378fee2a13 100644
--- a/arch/arm/boot/dts/exynos4210-origen.dts
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -192,7 +192,12 @@
192 }; 192 };
193 193
194 buck1_reg: BUCK1 { 194 buck1_reg: BUCK1 {
195 regulator-name = "VDD_ARM_1.2V"; 195 /*
196 * HACK: The real name is VDD_ARM_1.2V,
197 * but exynos-cpufreq does not support
198 * DT-based regulator lookup yet.
199 */
200 regulator-name = "vdd_arm";
196 regulator-min-microvolt = <950000>; 201 regulator-min-microvolt = <950000>;
197 regulator-max-microvolt = <1350000>; 202 regulator-max-microvolt = <1350000>;
198 regulator-always-on; 203 regulator-always-on;
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
index 1c164f234bcc..63cc571ca307 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -290,7 +290,12 @@
290 }; 290 };
291 291
292 varm_breg: BUCK1 { 292 varm_breg: BUCK1 {
293 regulator-name = "VARM_1.2V_C210"; 293 /*
294 * HACK: The real name is VARM_1.2V_C210,
295 * but exynos-cpufreq does not support
296 * DT-based regulator lookup yet.
297 */
298 regulator-name = "vdd_arm";
294 regulator-min-microvolt = <900000>; 299 regulator-min-microvolt = <900000>;
295 regulator-max-microvolt = <1350000>; 300 regulator-max-microvolt = <1350000>;
296 regulator-always-on; 301 regulator-always-on;
diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts
index 889cdada1ce9..d2e3f5f5916d 100644
--- a/arch/arm/boot/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts
@@ -350,3 +350,7 @@
350 status = "okay"; 350 status = "okay";
351 }; 351 };
352}; 352};
353
354&mdma1 {
355 reg = <0x12840000 0x1000>;
356};
diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
index 724a22f9b1c8..9a49e6804ae1 100644
--- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
@@ -210,21 +210,21 @@
210 samsung,pins = "gpa0-2", "gpa0-3"; 210 samsung,pins = "gpa0-2", "gpa0-3";
211 samsung,pin-function = <2>; 211 samsung,pin-function = <2>;
212 samsung,pin-pud = <0>; 212 samsung,pin-pud = <0>;
213 samaung,pin-drv = <0>; 213 samsung,pin-drv = <0>;
214 }; 214 };
215 215
216 i2c2_bus: i2c2-bus { 216 i2c2_bus: i2c2-bus {
217 samsung,pins = "gpa0-6", "gpa0-7"; 217 samsung,pins = "gpa0-6", "gpa0-7";
218 samsung,pin-function = <3>; 218 samsung,pin-function = <3>;
219 samsung,pin-pud = <3>; 219 samsung,pin-pud = <3>;
220 samaung,pin-drv = <0>; 220 samsung,pin-drv = <0>;
221 }; 221 };
222 222
223 i2c2_hs_bus: i2c2-hs-bus { 223 i2c2_hs_bus: i2c2-hs-bus {
224 samsung,pins = "gpa0-6", "gpa0-7"; 224 samsung,pins = "gpa0-6", "gpa0-7";
225 samsung,pin-function = <4>; 225 samsung,pin-function = <4>;
226 samsung,pin-pud = <3>; 226 samsung,pin-pud = <3>;
227 samaung,pin-drv = <0>; 227 samsung,pin-drv = <0>;
228 }; 228 };
229 229
230 uart2_data: uart2-data { 230 uart2_data: uart2-data {
@@ -238,21 +238,21 @@
238 samsung,pins = "gpa1-2", "gpa1-3"; 238 samsung,pins = "gpa1-2", "gpa1-3";
239 samsung,pin-function = <2>; 239 samsung,pin-function = <2>;
240 samsung,pin-pud = <0>; 240 samsung,pin-pud = <0>;
241 samaung,pin-drv = <0>; 241 samsung,pin-drv = <0>;
242 }; 242 };
243 243
244 i2c3_bus: i2c3-bus { 244 i2c3_bus: i2c3-bus {
245 samsung,pins = "gpa1-2", "gpa1-3"; 245 samsung,pins = "gpa1-2", "gpa1-3";
246 samsung,pin-function = <3>; 246 samsung,pin-function = <3>;
247 samsung,pin-pud = <3>; 247 samsung,pin-pud = <3>;
248 samaung,pin-drv = <0>; 248 samsung,pin-drv = <0>;
249 }; 249 };
250 250
251 i2c3_hs_bus: i2c3-hs-bus { 251 i2c3_hs_bus: i2c3-hs-bus {
252 samsung,pins = "gpa1-2", "gpa1-3"; 252 samsung,pins = "gpa1-2", "gpa1-3";
253 samsung,pin-function = <4>; 253 samsung,pin-function = <4>;
254 samsung,pin-pud = <3>; 254 samsung,pin-pud = <3>;
255 samaung,pin-drv = <0>; 255 samsung,pin-drv = <0>;
256 }; 256 };
257 257
258 uart3_data: uart3-data { 258 uart3_data: uart3-data {
@@ -273,14 +273,14 @@
273 samsung,pins = "gpa2-0", "gpa2-1"; 273 samsung,pins = "gpa2-0", "gpa2-1";
274 samsung,pin-function = <3>; 274 samsung,pin-function = <3>;
275 samsung,pin-pud = <3>; 275 samsung,pin-pud = <3>;
276 samaung,pin-drv = <0>; 276 samsung,pin-drv = <0>;
277 }; 277 };
278 278
279 i2c5_bus: i2c5-bus { 279 i2c5_bus: i2c5-bus {
280 samsung,pins = "gpa2-2", "gpa2-3"; 280 samsung,pins = "gpa2-2", "gpa2-3";
281 samsung,pin-function = <3>; 281 samsung,pin-function = <3>;
282 samsung,pin-pud = <3>; 282 samsung,pin-pud = <3>;
283 samaung,pin-drv = <0>; 283 samsung,pin-drv = <0>;
284 }; 284 };
285 285
286 spi1_bus: spi1-bus { 286 spi1_bus: spi1-bus {
@@ -376,14 +376,14 @@
376 samsung,pins = "gpb3-0", "gpb3-1"; 376 samsung,pins = "gpb3-0", "gpb3-1";
377 samsung,pin-function = <4>; 377 samsung,pin-function = <4>;
378 samsung,pin-pud = <3>; 378 samsung,pin-pud = <3>;
379 samaung,pin-drv = <0>; 379 samsung,pin-drv = <0>;
380 }; 380 };
381 381
382 i2c1_hs_bus: i2c1-hs-bus { 382 i2c1_hs_bus: i2c1-hs-bus {
383 samsung,pins = "gpb3-2", "gpb3-3"; 383 samsung,pins = "gpb3-2", "gpb3-3";
384 samsung,pin-function = <4>; 384 samsung,pin-function = <4>;
385 samsung,pin-pud = <3>; 385 samsung,pin-pud = <3>;
386 samaung,pin-drv = <0>; 386 samsung,pin-drv = <0>;
387 }; 387 };
388 388
389 sd0_clk: sd0-clk { 389 sd0_clk: sd0-clk {
@@ -551,14 +551,14 @@
551 samsung,pins = "gpd0-2", "gpd0-3"; 551 samsung,pins = "gpd0-2", "gpd0-3";
552 samsung,pin-function = <2>; 552 samsung,pin-function = <2>;
553 samsung,pin-pud = <0>; 553 samsung,pin-pud = <0>;
554 samaung,pin-drv = <0>; 554 samsung,pin-drv = <0>;
555 }; 555 };
556 556
557 dp_hpd: dp_hpd { 557 dp_hpd: dp_hpd {
558 samsung,pins = "gpx0-7"; 558 samsung,pins = "gpx0-7";
559 samsung,pin-function = <3>; 559 samsung,pin-function = <3>;
560 samsung,pin-pud = <0>; 560 samsung,pin-pud = <0>;
561 samaung,pin-drv = <0>; 561 samsung,pin-drv = <0>;
562 }; 562 };
563 }; 563 };
564 564
@@ -649,42 +649,42 @@
649 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3"; 649 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
650 samsung,pin-function = <3>; 650 samsung,pin-function = <3>;
651 samsung,pin-pud = <0>; 651 samsung,pin-pud = <0>;
652 samaung,pin-drv = <0>; 652 samsung,pin-drv = <0>;
653 }; 653 };
654 654
655 cam_i2c2_bus: cam-i2c2-bus { 655 cam_i2c2_bus: cam-i2c2-bus {
656 samsung,pins = "gpe0-6", "gpe1-0"; 656 samsung,pins = "gpe0-6", "gpe1-0";
657 samsung,pin-function = <4>; 657 samsung,pin-function = <4>;
658 samsung,pin-pud = <3>; 658 samsung,pin-pud = <3>;
659 samaung,pin-drv = <0>; 659 samsung,pin-drv = <0>;
660 }; 660 };
661 661
662 cam_spi1_bus: cam-spi1-bus { 662 cam_spi1_bus: cam-spi1-bus {
663 samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3"; 663 samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3";
664 samsung,pin-function = <4>; 664 samsung,pin-function = <4>;
665 samsung,pin-pud = <0>; 665 samsung,pin-pud = <0>;
666 samaung,pin-drv = <0>; 666 samsung,pin-drv = <0>;
667 }; 667 };
668 668
669 cam_i2c1_bus: cam-i2c1-bus { 669 cam_i2c1_bus: cam-i2c1-bus {
670 samsung,pins = "gpf0-2", "gpf0-3"; 670 samsung,pins = "gpf0-2", "gpf0-3";
671 samsung,pin-function = <2>; 671 samsung,pin-function = <2>;
672 samsung,pin-pud = <3>; 672 samsung,pin-pud = <3>;
673 samaung,pin-drv = <0>; 673 samsung,pin-drv = <0>;
674 }; 674 };
675 675
676 cam_i2c0_bus: cam-i2c0-bus { 676 cam_i2c0_bus: cam-i2c0-bus {
677 samsung,pins = "gpf0-0", "gpf0-1"; 677 samsung,pins = "gpf0-0", "gpf0-1";
678 samsung,pin-function = <2>; 678 samsung,pin-function = <2>;
679 samsung,pin-pud = <3>; 679 samsung,pin-pud = <3>;
680 samaung,pin-drv = <0>; 680 samsung,pin-drv = <0>;
681 }; 681 };
682 682
683 cam_spi0_bus: cam-spi0-bus { 683 cam_spi0_bus: cam-spi0-bus {
684 samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3"; 684 samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
685 samsung,pin-function = <2>; 685 samsung,pin-function = <2>;
686 samsung,pin-pud = <0>; 686 samsung,pin-pud = <0>;
687 samaung,pin-drv = <0>; 687 samsung,pin-drv = <0>;
688 }; 688 };
689 689
690 cam_bayrgb_bus: cam-bayrgb-bus { 690 cam_bayrgb_bus: cam-bayrgb-bus {
@@ -695,7 +695,7 @@
695 "gpg2-0", "gpg2-1"; 695 "gpg2-0", "gpg2-1";
696 samsung,pin-function = <2>; 696 samsung,pin-function = <2>;
697 samsung,pin-pud = <0>; 697 samsung,pin-pud = <0>;
698 samaung,pin-drv = <0>; 698 samsung,pin-drv = <0>;
699 }; 699 };
700 700
701 cam_port_a: cam-port-a { 701 cam_port_a: cam-port-a {
@@ -704,7 +704,7 @@
704 "gph1-4", "gph1-5", "gph1-6", "gph1-7"; 704 "gph1-4", "gph1-5", "gph1-6", "gph1-7";
705 samsung,pin-function = <2>; 705 samsung,pin-function = <2>;
706 samsung,pin-pud = <0>; 706 samsung,pin-pud = <0>;
707 samaung,pin-drv = <0>; 707 samsung,pin-drv = <0>;
708 }; 708 };
709 }; 709 };
710 710
@@ -756,7 +756,7 @@
756 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7"; 756 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7";
757 samsung,pin-function = <2>; 757 samsung,pin-function = <2>;
758 samsung,pin-pud = <0>; 758 samsung,pin-pud = <0>;
759 samaung,pin-drv = <0>; 759 samsung,pin-drv = <0>;
760 }; 760 };
761 761
762 c2c_txd: c2c-txd { 762 c2c_txd: c2c-txd {
@@ -766,7 +766,7 @@
766 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7"; 766 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7";
767 samsung,pin-function = <2>; 767 samsung,pin-function = <2>;
768 samsung,pin-pud = <0>; 768 samsung,pin-pud = <0>;
769 samaung,pin-drv = <0>; 769 samsung,pin-drv = <0>;
770 }; 770 };
771 }; 771 };
772 772
diff --git a/arch/arm/boot/dts/exynos5440-sd5v1.dts b/arch/arm/boot/dts/exynos5440-sd5v1.dts
index 5b22508050da..777fb1c2c70f 100644
--- a/arch/arm/boot/dts/exynos5440-sd5v1.dts
+++ b/arch/arm/boot/dts/exynos5440-sd5v1.dts
@@ -17,7 +17,7 @@
17 compatible = "samsung,sd5v1", "samsung,exynos5440"; 17 compatible = "samsung,sd5v1", "samsung,exynos5440";
18 18
19 chosen { 19 chosen {
20 bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200"; 20 bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200";
21 }; 21 };
22 22
23 fixed-rate-clocks { 23 fixed-rate-clocks {
diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/arch/arm/boot/dts/exynos5440-ssdk5440.dts
index ede772741f81..a7cb84884cfb 100644
--- a/arch/arm/boot/dts/exynos5440-ssdk5440.dts
+++ b/arch/arm/boot/dts/exynos5440-ssdk5440.dts
@@ -17,7 +17,7 @@
17 compatible = "samsung,ssdk5440", "samsung,exynos5440"; 17 compatible = "samsung,ssdk5440", "samsung,exynos5440";
18 18
19 chosen { 19 chosen {
20 bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel early_printk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200"; 20 bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200";
21 }; 21 };
22 22
23 spi_0: spi@D0000 { 23 spi_0: spi@D0000 {
diff --git a/arch/arm/boot/dts/rk3066a.dtsi b/arch/arm/boot/dts/rk3066a.dtsi
index 56bfac93d3f6..98f3597a6a35 100644
--- a/arch/arm/boot/dts/rk3066a.dtsi
+++ b/arch/arm/boot/dts/rk3066a.dtsi
@@ -191,17 +191,14 @@
191 uart0_xfer: uart0-xfer { 191 uart0_xfer: uart0-xfer {
192 rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>, 192 rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>,
193 <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_default>; 193 <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_default>;
194 rockchip,config = <&pcfg_pull_default>;
195 }; 194 };
196 195
197 uart0_cts: uart0-cts { 196 uart0_cts: uart0-cts {
198 rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_default>; 197 rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_default>;
199 rockchip,config = <&pcfg_pull_default>;
200 }; 198 };
201 199
202 uart0_rts: uart0-rts { 200 uart0_rts: uart0-rts {
203 rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_default>; 201 rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_default>;
204 rockchip,config = <&pcfg_pull_default>;
205 }; 202 };
206 }; 203 };
207 204
@@ -209,17 +206,14 @@
209 uart1_xfer: uart1-xfer { 206 uart1_xfer: uart1-xfer {
210 rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_default>, 207 rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_default>,
211 <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_default>; 208 <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_default>;
212 rockchip,config = <&pcfg_pull_default>;
213 }; 209 };
214 210
215 uart1_cts: uart1-cts { 211 uart1_cts: uart1-cts {
216 rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_default>; 212 rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_default>;
217 rockchip,config = <&pcfg_pull_default>;
218 }; 213 };
219 214
220 uart1_rts: uart1-rts { 215 uart1_rts: uart1-rts {
221 rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_default>; 216 rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_default>;
222 rockchip,config = <&pcfg_pull_default>;
223 }; 217 };
224 }; 218 };
225 219
@@ -227,7 +221,6 @@
227 uart2_xfer: uart2-xfer { 221 uart2_xfer: uart2-xfer {
228 rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_default>, 222 rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_default>,
229 <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_default>; 223 <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_default>;
230 rockchip,config = <&pcfg_pull_default>;
231 }; 224 };
232 /* no rts / cts for uart2 */ 225 /* no rts / cts for uart2 */
233 }; 226 };
@@ -236,44 +229,36 @@
236 uart3_xfer: uart3-xfer { 229 uart3_xfer: uart3-xfer {
237 rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_default>, 230 rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_default>,
238 <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_default>; 231 <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_default>;
239 rockchip,config = <&pcfg_pull_default>;
240 }; 232 };
241 233
242 uart3_cts: uart3-cts { 234 uart3_cts: uart3-cts {
243 rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_default>; 235 rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_default>;
244 rockchip,config = <&pcfg_pull_default>;
245 }; 236 };
246 237
247 uart3_rts: uart3-rts { 238 uart3_rts: uart3-rts {
248 rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_default>; 239 rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_default>;
249 rockchip,config = <&pcfg_pull_default>;
250 }; 240 };
251 }; 241 };
252 242
253 sd0 { 243 sd0 {
254 sd0_clk: sd0-clk { 244 sd0_clk: sd0-clk {
255 rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_default>; 245 rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_default>;
256 rockchip,config = <&pcfg_pull_default>;
257 }; 246 };
258 247
259 sd0_cmd: sd0-cmd { 248 sd0_cmd: sd0-cmd {
260 rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_default>; 249 rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_default>;
261 rockchip,config = <&pcfg_pull_default>;
262 }; 250 };
263 251
264 sd0_cd: sd0-cd { 252 sd0_cd: sd0-cd {
265 rockchip,pins = <RK_GPIO3 14 RK_FUNC_1 &pcfg_pull_default>; 253 rockchip,pins = <RK_GPIO3 14 RK_FUNC_1 &pcfg_pull_default>;
266 rockchip,config = <&pcfg_pull_default>;
267 }; 254 };
268 255
269 sd0_wp: sd0-wp { 256 sd0_wp: sd0-wp {
270 rockchip,pins = <RK_GPIO3 15 RK_FUNC_1 &pcfg_pull_default>; 257 rockchip,pins = <RK_GPIO3 15 RK_FUNC_1 &pcfg_pull_default>;
271 rockchip,config = <&pcfg_pull_default>;
272 }; 258 };
273 259
274 sd0_bus1: sd0-bus-width1 { 260 sd0_bus1: sd0-bus-width1 {
275 rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>; 261 rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>;
276 rockchip,config = <&pcfg_pull_default>;
277 }; 262 };
278 263
279 sd0_bus4: sd0-bus-width4 { 264 sd0_bus4: sd0-bus-width4 {
@@ -281,34 +266,28 @@
281 <RK_GPIO3 11 RK_FUNC_1 &pcfg_pull_default>, 266 <RK_GPIO3 11 RK_FUNC_1 &pcfg_pull_default>,
282 <RK_GPIO3 12 RK_FUNC_1 &pcfg_pull_default>, 267 <RK_GPIO3 12 RK_FUNC_1 &pcfg_pull_default>,
283 <RK_GPIO3 13 RK_FUNC_1 &pcfg_pull_default>; 268 <RK_GPIO3 13 RK_FUNC_1 &pcfg_pull_default>;
284 rockchip,config = <&pcfg_pull_default>;
285 }; 269 };
286 }; 270 };
287 271
288 sd1 { 272 sd1 {
289 sd1_clk: sd1-clk { 273 sd1_clk: sd1-clk {
290 rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_default>; 274 rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_default>;
291 rockchip,config = <&pcfg_pull_default>;
292 }; 275 };
293 276
294 sd1_cmd: sd1-cmd { 277 sd1_cmd: sd1-cmd {
295 rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_default>; 278 rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_default>;
296 rockchip,config = <&pcfg_pull_default>;
297 }; 279 };
298 280
299 sd1_cd: sd1-cd { 281 sd1_cd: sd1-cd {
300 rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_default>; 282 rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_default>;
301 rockchip,config = <&pcfg_pull_default>;
302 }; 283 };
303 284
304 sd1_wp: sd1-wp { 285 sd1_wp: sd1-wp {
305 rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_default>; 286 rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_default>;
306 rockchip,config = <&pcfg_pull_default>;
307 }; 287 };
308 288
309 sd1_bus1: sd1-bus-width1 { 289 sd1_bus1: sd1-bus-width1 {
310 rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>; 290 rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>;
311 rockchip,config = <&pcfg_pull_default>;
312 }; 291 };
313 292
314 sd1_bus4: sd1-bus-width4 { 293 sd1_bus4: sd1-bus-width4 {
@@ -316,7 +295,6 @@
316 <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_default>, 295 <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_default>,
317 <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_default>, 296 <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_default>,
318 <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>; 297 <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>;
319 rockchip,config = <&pcfg_pull_default>;
320 }; 298 };
321 }; 299 };
322 }; 300 };
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h
index abec019a5281..732f8ee2fcd2 100644
--- a/arch/arm/mach-omap1/common.h
+++ b/arch/arm/mach-omap1/common.h
@@ -46,6 +46,9 @@ static inline void omap7xx_map_io(void)
46void omap1510_fpga_init_irq(void); 46void omap1510_fpga_init_irq(void);
47void omap15xx_map_io(void); 47void omap15xx_map_io(void);
48#else 48#else
49static inline void omap1510_fpga_init_irq(void)
50{
51}
49static inline void omap15xx_map_io(void) 52static inline void omap15xx_map_io(void)
50{ 53{
51} 54}
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c
index 8bd71b2d0967..3c0e42219200 100644
--- a/arch/arm/mach-omap1/fpga.c
+++ b/arch/arm/mach-omap1/fpga.c
@@ -135,8 +135,7 @@ static struct irq_chip omap_fpga_irq = {
135 * mask_ack routine for all of the FPGA interrupts has been changed from 135 * mask_ack routine for all of the FPGA interrupts has been changed from
136 * fpga_mask_ack_irq() to fpga_ack_irq() so that the specific FPGA interrupt 136 * fpga_mask_ack_irq() to fpga_ack_irq() so that the specific FPGA interrupt
137 * being serviced is left unmasked. We can do this because the FPGA cascade 137 * being serviced is left unmasked. We can do this because the FPGA cascade
138 * interrupt is installed with the IRQF_DISABLED flag, which leaves all 138 * interrupt is run with all interrupts masked.
139 * interrupts masked at the CPU while an FPGA interrupt handler executes.
140 * 139 *
141 * Limited testing indicates that this workaround appears to be effective 140 * Limited testing indicates that this workaround appears to be effective
142 * for the smc9194 Ethernet driver used on the Innovator. It should work 141 * for the smc9194 Ethernet driver used on the Innovator. It should work
diff --git a/arch/arm/mach-omap1/gpio15xx.c b/arch/arm/mach-omap1/gpio15xx.c
index 02b3eb2e201c..312a0924d786 100644
--- a/arch/arm/mach-omap1/gpio15xx.c
+++ b/arch/arm/mach-omap1/gpio15xx.c
@@ -25,7 +25,7 @@
25#define OMAP1510_GPIO_BASE 0xFFFCE000 25#define OMAP1510_GPIO_BASE 0xFFFCE000
26 26
27/* gpio1 */ 27/* gpio1 */
28static struct __initdata resource omap15xx_mpu_gpio_resources[] = { 28static struct resource omap15xx_mpu_gpio_resources[] = {
29 { 29 {
30 .start = OMAP1_MPUIO_VBASE, 30 .start = OMAP1_MPUIO_VBASE,
31 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1, 31 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1,
@@ -48,7 +48,7 @@ static struct omap_gpio_reg_offs omap15xx_mpuio_regs = {
48 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE, 48 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE,
49}; 49};
50 50
51static struct __initdata omap_gpio_platform_data omap15xx_mpu_gpio_config = { 51static struct omap_gpio_platform_data omap15xx_mpu_gpio_config = {
52 .is_mpuio = true, 52 .is_mpuio = true,
53 .bank_width = 16, 53 .bank_width = 16,
54 .bank_stride = 1, 54 .bank_stride = 1,
@@ -66,7 +66,7 @@ static struct platform_device omap15xx_mpu_gpio = {
66}; 66};
67 67
68/* gpio2 */ 68/* gpio2 */
69static struct __initdata resource omap15xx_gpio_resources[] = { 69static struct resource omap15xx_gpio_resources[] = {
70 { 70 {
71 .start = OMAP1510_GPIO_BASE, 71 .start = OMAP1510_GPIO_BASE,
72 .end = OMAP1510_GPIO_BASE + SZ_2K - 1, 72 .end = OMAP1510_GPIO_BASE + SZ_2K - 1,
@@ -90,7 +90,7 @@ static struct omap_gpio_reg_offs omap15xx_gpio_regs = {
90 .pinctrl = OMAP1510_GPIO_PIN_CONTROL, 90 .pinctrl = OMAP1510_GPIO_PIN_CONTROL,
91}; 91};
92 92
93static struct __initdata omap_gpio_platform_data omap15xx_gpio_config = { 93static struct omap_gpio_platform_data omap15xx_gpio_config = {
94 .bank_width = 16, 94 .bank_width = 16,
95 .regs = &omap15xx_gpio_regs, 95 .regs = &omap15xx_gpio_regs,
96}; 96};
diff --git a/arch/arm/mach-omap1/gpio16xx.c b/arch/arm/mach-omap1/gpio16xx.c
index b9952a258d82..6e6ec93dcbb3 100644
--- a/arch/arm/mach-omap1/gpio16xx.c
+++ b/arch/arm/mach-omap1/gpio16xx.c
@@ -31,7 +31,7 @@
31#define SYSCONFIG_WORD 0x14 31#define SYSCONFIG_WORD 0x14
32 32
33/* mpu gpio */ 33/* mpu gpio */
34static struct __initdata resource omap16xx_mpu_gpio_resources[] = { 34static struct resource omap16xx_mpu_gpio_resources[] = {
35 { 35 {
36 .start = OMAP1_MPUIO_VBASE, 36 .start = OMAP1_MPUIO_VBASE,
37 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1, 37 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1,
@@ -54,7 +54,7 @@ static struct omap_gpio_reg_offs omap16xx_mpuio_regs = {
54 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE, 54 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE,
55}; 55};
56 56
57static struct __initdata omap_gpio_platform_data omap16xx_mpu_gpio_config = { 57static struct omap_gpio_platform_data omap16xx_mpu_gpio_config = {
58 .is_mpuio = true, 58 .is_mpuio = true,
59 .bank_width = 16, 59 .bank_width = 16,
60 .bank_stride = 1, 60 .bank_stride = 1,
@@ -72,7 +72,7 @@ static struct platform_device omap16xx_mpu_gpio = {
72}; 72};
73 73
74/* gpio1 */ 74/* gpio1 */
75static struct __initdata resource omap16xx_gpio1_resources[] = { 75static struct resource omap16xx_gpio1_resources[] = {
76 { 76 {
77 .start = OMAP1610_GPIO1_BASE, 77 .start = OMAP1610_GPIO1_BASE,
78 .end = OMAP1610_GPIO1_BASE + SZ_2K - 1, 78 .end = OMAP1610_GPIO1_BASE + SZ_2K - 1,
@@ -100,7 +100,7 @@ static struct omap_gpio_reg_offs omap16xx_gpio_regs = {
100 .edgectrl2 = OMAP1610_GPIO_EDGE_CTRL2, 100 .edgectrl2 = OMAP1610_GPIO_EDGE_CTRL2,
101}; 101};
102 102
103static struct __initdata omap_gpio_platform_data omap16xx_gpio1_config = { 103static struct omap_gpio_platform_data omap16xx_gpio1_config = {
104 .bank_width = 16, 104 .bank_width = 16,
105 .regs = &omap16xx_gpio_regs, 105 .regs = &omap16xx_gpio_regs,
106}; 106};
@@ -116,7 +116,7 @@ static struct platform_device omap16xx_gpio1 = {
116}; 116};
117 117
118/* gpio2 */ 118/* gpio2 */
119static struct __initdata resource omap16xx_gpio2_resources[] = { 119static struct resource omap16xx_gpio2_resources[] = {
120 { 120 {
121 .start = OMAP1610_GPIO2_BASE, 121 .start = OMAP1610_GPIO2_BASE,
122 .end = OMAP1610_GPIO2_BASE + SZ_2K - 1, 122 .end = OMAP1610_GPIO2_BASE + SZ_2K - 1,
@@ -128,7 +128,7 @@ static struct __initdata resource omap16xx_gpio2_resources[] = {
128 }, 128 },
129}; 129};
130 130
131static struct __initdata omap_gpio_platform_data omap16xx_gpio2_config = { 131static struct omap_gpio_platform_data omap16xx_gpio2_config = {
132 .bank_width = 16, 132 .bank_width = 16,
133 .regs = &omap16xx_gpio_regs, 133 .regs = &omap16xx_gpio_regs,
134}; 134};
@@ -144,7 +144,7 @@ static struct platform_device omap16xx_gpio2 = {
144}; 144};
145 145
146/* gpio3 */ 146/* gpio3 */
147static struct __initdata resource omap16xx_gpio3_resources[] = { 147static struct resource omap16xx_gpio3_resources[] = {
148 { 148 {
149 .start = OMAP1610_GPIO3_BASE, 149 .start = OMAP1610_GPIO3_BASE,
150 .end = OMAP1610_GPIO3_BASE + SZ_2K - 1, 150 .end = OMAP1610_GPIO3_BASE + SZ_2K - 1,
@@ -156,7 +156,7 @@ static struct __initdata resource omap16xx_gpio3_resources[] = {
156 }, 156 },
157}; 157};
158 158
159static struct __initdata omap_gpio_platform_data omap16xx_gpio3_config = { 159static struct omap_gpio_platform_data omap16xx_gpio3_config = {
160 .bank_width = 16, 160 .bank_width = 16,
161 .regs = &omap16xx_gpio_regs, 161 .regs = &omap16xx_gpio_regs,
162}; 162};
@@ -172,7 +172,7 @@ static struct platform_device omap16xx_gpio3 = {
172}; 172};
173 173
174/* gpio4 */ 174/* gpio4 */
175static struct __initdata resource omap16xx_gpio4_resources[] = { 175static struct resource omap16xx_gpio4_resources[] = {
176 { 176 {
177 .start = OMAP1610_GPIO4_BASE, 177 .start = OMAP1610_GPIO4_BASE,
178 .end = OMAP1610_GPIO4_BASE + SZ_2K - 1, 178 .end = OMAP1610_GPIO4_BASE + SZ_2K - 1,
@@ -184,7 +184,7 @@ static struct __initdata resource omap16xx_gpio4_resources[] = {
184 }, 184 },
185}; 185};
186 186
187static struct __initdata omap_gpio_platform_data omap16xx_gpio4_config = { 187static struct omap_gpio_platform_data omap16xx_gpio4_config = {
188 .bank_width = 16, 188 .bank_width = 16,
189 .regs = &omap16xx_gpio_regs, 189 .regs = &omap16xx_gpio_regs,
190}; 190};
@@ -199,7 +199,7 @@ static struct platform_device omap16xx_gpio4 = {
199 .resource = omap16xx_gpio4_resources, 199 .resource = omap16xx_gpio4_resources,
200}; 200};
201 201
202static struct __initdata platform_device * omap16xx_gpio_dev[] = { 202static struct platform_device *omap16xx_gpio_dev[] __initdata = {
203 &omap16xx_mpu_gpio, 203 &omap16xx_mpu_gpio,
204 &omap16xx_gpio1, 204 &omap16xx_gpio1,
205 &omap16xx_gpio2, 205 &omap16xx_gpio2,
diff --git a/arch/arm/mach-omap1/gpio7xx.c b/arch/arm/mach-omap1/gpio7xx.c
index f5819b2b7cbe..4612d2506a2d 100644
--- a/arch/arm/mach-omap1/gpio7xx.c
+++ b/arch/arm/mach-omap1/gpio7xx.c
@@ -30,7 +30,7 @@
30#define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE 30#define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE
31 31
32/* mpu gpio */ 32/* mpu gpio */
33static struct __initdata resource omap7xx_mpu_gpio_resources[] = { 33static struct resource omap7xx_mpu_gpio_resources[] = {
34 { 34 {
35 .start = OMAP1_MPUIO_VBASE, 35 .start = OMAP1_MPUIO_VBASE,
36 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1, 36 .end = OMAP1_MPUIO_VBASE + SZ_2K - 1,
@@ -53,7 +53,7 @@ static struct omap_gpio_reg_offs omap7xx_mpuio_regs = {
53 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE >> 1, 53 .irqctrl = OMAP_MPUIO_GPIO_INT_EDGE >> 1,
54}; 54};
55 55
56static struct __initdata omap_gpio_platform_data omap7xx_mpu_gpio_config = { 56static struct omap_gpio_platform_data omap7xx_mpu_gpio_config = {
57 .is_mpuio = true, 57 .is_mpuio = true,
58 .bank_width = 16, 58 .bank_width = 16,
59 .bank_stride = 2, 59 .bank_stride = 2,
@@ -71,7 +71,7 @@ static struct platform_device omap7xx_mpu_gpio = {
71}; 71};
72 72
73/* gpio1 */ 73/* gpio1 */
74static struct __initdata resource omap7xx_gpio1_resources[] = { 74static struct resource omap7xx_gpio1_resources[] = {
75 { 75 {
76 .start = OMAP7XX_GPIO1_BASE, 76 .start = OMAP7XX_GPIO1_BASE,
77 .end = OMAP7XX_GPIO1_BASE + SZ_2K - 1, 77 .end = OMAP7XX_GPIO1_BASE + SZ_2K - 1,
@@ -94,7 +94,7 @@ static struct omap_gpio_reg_offs omap7xx_gpio_regs = {
94 .irqctrl = OMAP7XX_GPIO_INT_CONTROL, 94 .irqctrl = OMAP7XX_GPIO_INT_CONTROL,
95}; 95};
96 96
97static struct __initdata omap_gpio_platform_data omap7xx_gpio1_config = { 97static struct omap_gpio_platform_data omap7xx_gpio1_config = {
98 .bank_width = 32, 98 .bank_width = 32,
99 .regs = &omap7xx_gpio_regs, 99 .regs = &omap7xx_gpio_regs,
100}; 100};
@@ -110,7 +110,7 @@ static struct platform_device omap7xx_gpio1 = {
110}; 110};
111 111
112/* gpio2 */ 112/* gpio2 */
113static struct __initdata resource omap7xx_gpio2_resources[] = { 113static struct resource omap7xx_gpio2_resources[] = {
114 { 114 {
115 .start = OMAP7XX_GPIO2_BASE, 115 .start = OMAP7XX_GPIO2_BASE,
116 .end = OMAP7XX_GPIO2_BASE + SZ_2K - 1, 116 .end = OMAP7XX_GPIO2_BASE + SZ_2K - 1,
@@ -122,7 +122,7 @@ static struct __initdata resource omap7xx_gpio2_resources[] = {
122 }, 122 },
123}; 123};
124 124
125static struct __initdata omap_gpio_platform_data omap7xx_gpio2_config = { 125static struct omap_gpio_platform_data omap7xx_gpio2_config = {
126 .bank_width = 32, 126 .bank_width = 32,
127 .regs = &omap7xx_gpio_regs, 127 .regs = &omap7xx_gpio_regs,
128}; 128};
@@ -138,7 +138,7 @@ static struct platform_device omap7xx_gpio2 = {
138}; 138};
139 139
140/* gpio3 */ 140/* gpio3 */
141static struct __initdata resource omap7xx_gpio3_resources[] = { 141static struct resource omap7xx_gpio3_resources[] = {
142 { 142 {
143 .start = OMAP7XX_GPIO3_BASE, 143 .start = OMAP7XX_GPIO3_BASE,
144 .end = OMAP7XX_GPIO3_BASE + SZ_2K - 1, 144 .end = OMAP7XX_GPIO3_BASE + SZ_2K - 1,
@@ -150,7 +150,7 @@ static struct __initdata resource omap7xx_gpio3_resources[] = {
150 }, 150 },
151}; 151};
152 152
153static struct __initdata omap_gpio_platform_data omap7xx_gpio3_config = { 153static struct omap_gpio_platform_data omap7xx_gpio3_config = {
154 .bank_width = 32, 154 .bank_width = 32,
155 .regs = &omap7xx_gpio_regs, 155 .regs = &omap7xx_gpio_regs,
156}; 156};
@@ -166,7 +166,7 @@ static struct platform_device omap7xx_gpio3 = {
166}; 166};
167 167
168/* gpio4 */ 168/* gpio4 */
169static struct __initdata resource omap7xx_gpio4_resources[] = { 169static struct resource omap7xx_gpio4_resources[] = {
170 { 170 {
171 .start = OMAP7XX_GPIO4_BASE, 171 .start = OMAP7XX_GPIO4_BASE,
172 .end = OMAP7XX_GPIO4_BASE + SZ_2K - 1, 172 .end = OMAP7XX_GPIO4_BASE + SZ_2K - 1,
@@ -178,7 +178,7 @@ static struct __initdata resource omap7xx_gpio4_resources[] = {
178 }, 178 },
179}; 179};
180 180
181static struct __initdata omap_gpio_platform_data omap7xx_gpio4_config = { 181static struct omap_gpio_platform_data omap7xx_gpio4_config = {
182 .bank_width = 32, 182 .bank_width = 32,
183 .regs = &omap7xx_gpio_regs, 183 .regs = &omap7xx_gpio_regs,
184}; 184};
@@ -194,7 +194,7 @@ static struct platform_device omap7xx_gpio4 = {
194}; 194};
195 195
196/* gpio5 */ 196/* gpio5 */
197static struct __initdata resource omap7xx_gpio5_resources[] = { 197static struct resource omap7xx_gpio5_resources[] = {
198 { 198 {
199 .start = OMAP7XX_GPIO5_BASE, 199 .start = OMAP7XX_GPIO5_BASE,
200 .end = OMAP7XX_GPIO5_BASE + SZ_2K - 1, 200 .end = OMAP7XX_GPIO5_BASE + SZ_2K - 1,
@@ -206,7 +206,7 @@ static struct __initdata resource omap7xx_gpio5_resources[] = {
206 }, 206 },
207}; 207};
208 208
209static struct __initdata omap_gpio_platform_data omap7xx_gpio5_config = { 209static struct omap_gpio_platform_data omap7xx_gpio5_config = {
210 .bank_width = 32, 210 .bank_width = 32,
211 .regs = &omap7xx_gpio_regs, 211 .regs = &omap7xx_gpio_regs,
212}; 212};
@@ -222,7 +222,7 @@ static struct platform_device omap7xx_gpio5 = {
222}; 222};
223 223
224/* gpio6 */ 224/* gpio6 */
225static struct __initdata resource omap7xx_gpio6_resources[] = { 225static struct resource omap7xx_gpio6_resources[] = {
226 { 226 {
227 .start = OMAP7XX_GPIO6_BASE, 227 .start = OMAP7XX_GPIO6_BASE,
228 .end = OMAP7XX_GPIO6_BASE + SZ_2K - 1, 228 .end = OMAP7XX_GPIO6_BASE + SZ_2K - 1,
@@ -234,7 +234,7 @@ static struct __initdata resource omap7xx_gpio6_resources[] = {
234 }, 234 },
235}; 235};
236 236
237static struct __initdata omap_gpio_platform_data omap7xx_gpio6_config = { 237static struct omap_gpio_platform_data omap7xx_gpio6_config = {
238 .bank_width = 32, 238 .bank_width = 32,
239 .regs = &omap7xx_gpio_regs, 239 .regs = &omap7xx_gpio_regs,
240}; 240};
@@ -249,7 +249,7 @@ static struct platform_device omap7xx_gpio6 = {
249 .resource = omap7xx_gpio6_resources, 249 .resource = omap7xx_gpio6_resources,
250}; 250};
251 251
252static struct __initdata platform_device * omap7xx_gpio_dev[] = { 252static struct platform_device *omap7xx_gpio_dev[] __initdata = {
253 &omap7xx_mpu_gpio, 253 &omap7xx_mpu_gpio,
254 &omap7xx_gpio1, 254 &omap7xx_gpio1,
255 &omap7xx_gpio2, 255 &omap7xx_gpio2,
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
index 358b82cb9f78..40a1ae319610 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -628,7 +628,6 @@ static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
628 628
629static struct irqaction omap_wakeup_irq = { 629static struct irqaction omap_wakeup_irq = {
630 .name = "peripheral wakeup", 630 .name = "peripheral wakeup",
631 .flags = IRQF_DISABLED,
632 .handler = omap_wakeup_interrupt 631 .handler = omap_wakeup_interrupt
633}; 632};
634 633
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c
index 80603d2fef77..6b5f298d6638 100644
--- a/arch/arm/mach-omap1/time.c
+++ b/arch/arm/mach-omap1/time.c
@@ -160,7 +160,7 @@ static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id)
160 160
161static struct irqaction omap_mpu_timer1_irq = { 161static struct irqaction omap_mpu_timer1_irq = {
162 .name = "mpu_timer1", 162 .name = "mpu_timer1",
163 .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, 163 .flags = IRQF_TIMER | IRQF_IRQPOLL,
164 .handler = omap_mpu_timer1_interrupt, 164 .handler = omap_mpu_timer1_interrupt,
165}; 165};
166 166
diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
index 0b74246ba62c..107e7ab3edba 100644
--- a/arch/arm/mach-omap1/timer32k.c
+++ b/arch/arm/mach-omap1/timer32k.c
@@ -156,7 +156,7 @@ static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id)
156 156
157static struct irqaction omap_32k_timer_irq = { 157static struct irqaction omap_32k_timer_irq = {
158 .name = "32KHz timer", 158 .name = "32KHz timer",
159 .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, 159 .flags = IRQF_TIMER | IRQF_IRQPOLL,
160 .handler = omap_32k_timer_interrupt, 160 .handler = omap_32k_timer_interrupt,
161}; 161};
162 162
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 0289adcb6efb..ef32d11c4bca 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -18,6 +18,7 @@
18#include <linux/kernel.h> 18#include <linux/kernel.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/io.h> 20#include <linux/io.h>
21#include <linux/random.h>
21#include <linux/slab.h> 22#include <linux/slab.h>
22 23
23#ifdef CONFIG_SOC_BUS 24#ifdef CONFIG_SOC_BUS
@@ -130,6 +131,17 @@ void omap_get_die_id(struct omap_die_id *odi)
130 odi->id_3 = read_tap_reg(OMAP_TAP_DIE_ID_3); 131 odi->id_3 = read_tap_reg(OMAP_TAP_DIE_ID_3);
131} 132}
132 133
134static int __init omap_feed_randpool(void)
135{
136 struct omap_die_id odi;
137
138 /* Throw the die ID into the entropy pool at boot */
139 omap_get_die_id(&odi);
140 add_device_randomness(&odi, sizeof(odi));
141 return 0;
142}
143omap_device_initcall(omap_feed_randpool);
144
133void __init omap2xxx_check_revision(void) 145void __init omap2xxx_check_revision(void)
134{ 146{
135 int i, j; 147 int i, j;
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 3926f370448f..e022a869bff2 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -233,7 +233,7 @@ static inline void omap_intc_handle_irq(void __iomem *base_addr, struct pt_regs
233 goto out; 233 goto out;
234 234
235 irqnr = readl_relaxed(base_addr + 0xd8); 235 irqnr = readl_relaxed(base_addr + 0xd8);
236#ifdef CONFIG_SOC_TI81XX 236#if IS_ENABLED(CONFIG_SOC_TI81XX) || IS_ENABLED(CONFIG_SOC_AM33XX)
237 if (irqnr) 237 if (irqnr)
238 goto out; 238 goto out;
239 irqnr = readl_relaxed(base_addr + 0xf8); 239 irqnr = readl_relaxed(base_addr + 0xf8);
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c
index 813c61558a5f..3664562f9148 100644
--- a/arch/arm/mach-omap2/omap-wakeupgen.c
+++ b/arch/arm/mach-omap2/omap-wakeupgen.c
@@ -33,8 +33,12 @@
33#include "omap4-sar-layout.h" 33#include "omap4-sar-layout.h"
34#include "common.h" 34#include "common.h"
35 35
36#define MAX_NR_REG_BANKS 5 36#define AM43XX_NR_REG_BANKS 7
37#define MAX_IRQS 160 37#define AM43XX_IRQS 224
38#define MAX_NR_REG_BANKS AM43XX_NR_REG_BANKS
39#define MAX_IRQS AM43XX_IRQS
40#define DEFAULT_NR_REG_BANKS 5
41#define DEFAULT_IRQS 160
38#define WKG_MASK_ALL 0x00000000 42#define WKG_MASK_ALL 0x00000000
39#define WKG_UNMASK_ALL 0xffffffff 43#define WKG_UNMASK_ALL 0xffffffff
40#define CPU_ENA_OFFSET 0x400 44#define CPU_ENA_OFFSET 0x400
@@ -47,8 +51,8 @@ static void __iomem *wakeupgen_base;
47static void __iomem *sar_base; 51static void __iomem *sar_base;
48static DEFINE_RAW_SPINLOCK(wakeupgen_lock); 52static DEFINE_RAW_SPINLOCK(wakeupgen_lock);
49static unsigned int irq_target_cpu[MAX_IRQS]; 53static unsigned int irq_target_cpu[MAX_IRQS];
50static unsigned int irq_banks = MAX_NR_REG_BANKS; 54static unsigned int irq_banks = DEFAULT_NR_REG_BANKS;
51static unsigned int max_irqs = MAX_IRQS; 55static unsigned int max_irqs = DEFAULT_IRQS;
52static unsigned int omap_secure_apis; 56static unsigned int omap_secure_apis;
53 57
54/* 58/*
@@ -418,12 +422,16 @@ int __init omap_wakeupgen_init(void)
418 irq_banks = OMAP4_NR_BANKS; 422 irq_banks = OMAP4_NR_BANKS;
419 max_irqs = OMAP4_NR_IRQS; 423 max_irqs = OMAP4_NR_IRQS;
420 omap_secure_apis = 1; 424 omap_secure_apis = 1;
425 } else if (soc_is_am43xx()) {
426 irq_banks = AM43XX_NR_REG_BANKS;
427 max_irqs = AM43XX_IRQS;
421 } 428 }
422 429
423 /* Clear all IRQ bitmasks at wakeupGen level */ 430 /* Clear all IRQ bitmasks at wakeupGen level */
424 for (i = 0; i < irq_banks; i++) { 431 for (i = 0; i < irq_banks; i++) {
425 wakeupgen_writel(0, i, CPU0_ID); 432 wakeupgen_writel(0, i, CPU0_ID);
426 wakeupgen_writel(0, i, CPU1_ID); 433 if (!soc_is_am43xx())
434 wakeupgen_writel(0, i, CPU1_ID);
427 } 435 }
428 436
429 /* 437 /*
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index ead48fa5715e..538e7cda5eea 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -78,7 +78,7 @@ static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
78 78
79static struct irqaction omap2_gp_timer_irq = { 79static struct irqaction omap2_gp_timer_irq = {
80 .name = "gp_timer", 80 .name = "gp_timer",
81 .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, 81 .flags = IRQF_TIMER | IRQF_IRQPOLL,
82 .handler = omap2_gp_timer_interrupt, 82 .handler = omap2_gp_timer_interrupt,
83}; 83};
84 84
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index 25ee12b21f01..a8487337344a 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -5,9 +5,8 @@ config ARCH_ROCKCHIP
5 select ARCH_REQUIRE_GPIOLIB 5 select ARCH_REQUIRE_GPIOLIB
6 select ARM_GIC 6 select ARM_GIC
7 select CACHE_L2X0 7 select CACHE_L2X0
8 select HAVE_ARM_TWD if LOCAL_TIMERS 8 select HAVE_ARM_TWD if SMP
9 select HAVE_SMP 9 select HAVE_SMP
10 select LOCAL_TIMERS if SMP
11 select COMMON_CLK 10 select COMMON_CLK
12 select GENERIC_CLOCKEVENTS 11 select GENERIC_CLOCKEVENTS
13 select DW_APB_TIMER_OF 12 select DW_APB_TIMER_OF
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 037660633fa4..01619c2910e3 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1965,7 +1965,6 @@ static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id)
1965static struct irqaction omap24xx_dma_irq = { 1965static struct irqaction omap24xx_dma_irq = {
1966 .name = "DMA", 1966 .name = "DMA",
1967 .handler = omap2_dma_irq_handler, 1967 .handler = omap2_dma_irq_handler,
1968 .flags = IRQF_DISABLED
1969}; 1968};
1970 1969
1971#else 1970#else