aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 18:00:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 18:00:26 -0400
commit9663398a094e3b85415e27fe6047b067f5f81f99 (patch)
tree5b59c3ca79340d3c714addbfc1f61ea014a76996 /arch
parentbfd65dd9fe42b54c6f4eabbabc40bda9e25dcf93 (diff)
parentd4e1c7ef46e9b02dbf691da0c84d653f88670213 (diff)
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson: "This is our first set of fixes from arm-soc for 3.11. - A handful of build and warning fixes from Arnd - A collection of OMAP fixes - defconfig updates to make the default configs more useful for real use (and testing) out of the box on hardware And a couple of other small fixes. Some of these have been recently applied but it's normally how we deal with fixes, with less bake time in -next needed" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits) arm: multi_v7_defconfig: Tweaks for omap and sunxi arm: multi_v7_defconfig: add i.MX options and NFS root ARM: omap2: add select of TI_PRIV_EDMA ARM: exynos: select PM_GENERIC_DOMAINS only when used ARM: ixp4xx: avoid circular header dependency ARM: OMAP: omap_common_late_init may be unused ARM: sti: move DEBUG_STI_UART into alphabetical order ARM: OMAP: build mach-omap code only if needed ARM: zynq: use DT_MACHINE_START ARM: omap5: omap5 has SCU and TWD ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver ARM: OMAP2+: devices: remove duplicated include from devices.c ARM: OMAP3: igep0020: Set DSS pins in correct mux mode. ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled ARM: OMAP2+: Cocci spatch "ptr_ret.spatch" ARM: OMAP2+: Remove obsolete Makefile line ARM: OMAP5: Enable Cortex A15 errata 798181 ...
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig.debug20
-rw-r--r--arch/arm/boot/dts/tegra20-seaboard.dts1
-rw-r--r--arch/arm/boot/dts/tegra20-trimslice.dts1
-rw-r--r--arch/arm/boot/dts/tegra20-whistler.dts2
-rw-r--r--arch/arm/configs/multi_v7_defconfig133
-rw-r--r--arch/arm/configs/omap2plus_defconfig19
-rw-r--r--arch/arm/configs/u8500_defconfig44
-rw-r--r--arch/arm/include/asm/smp_scu.h13
-rw-r--r--arch/arm/mach-exynos/Kconfig2
-rw-r--r--arch/arm/mach-ixp4xx/dsmg600-setup.c1
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/timex.h2
-rw-r--r--arch/arm/mach-ixp4xx/omixp-setup.c2
-rw-r--r--arch/arm/mach-omap2/Kconfig153
-rw-r--r--arch/arm/mach-omap2/Makefile4
-rw-r--r--arch/arm/mach-omap2/board-igep0020.c31
-rw-r--r--arch/arm/mach-omap2/board-rx51-video.c2
-rw-r--r--arch/arm/mach-omap2/devices.c5
-rw-r--r--arch/arm/mach-omap2/fb.c5
-rw-r--r--arch/arm/mach-omap2/gpmc.c2
-rw-r--r--arch/arm/mach-omap2/io.c2
-rw-r--r--arch/arm/mach-omap2/pmu.c5
-rw-r--r--arch/arm/mach-omap2/sleep44xx.S6
-rw-r--r--arch/arm/mach-omap2/timer.c2
-rw-r--r--arch/arm/mach-shmobile/setup-emev2.c8
-rw-r--r--arch/arm/mach-shmobile/setup-r8a73a4.c2
-rw-r--r--arch/arm/mach-zynq/common.c2
26 files changed, 309 insertions, 160 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 5b7be8d975b5..e401a766c0bd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -510,6 +510,16 @@ choice
510 Say Y here if you want the debug print routines to direct 510 Say Y here if you want the debug print routines to direct
511 their output to the uart1 port on SiRFmarco devices. 511 their output to the uart1 port on SiRFmarco devices.
512 512
513 config DEBUG_STI_UART
514 depends on ARCH_STI
515 bool "Use StiH415/416 ASC for low-level debug"
516 help
517 Say Y here if you want kernel low-level debugging support
518 on StiH415/416 based platforms like B2000, B2020.
519 It support UART2 and SBC_UART1.
520
521 If unsure, say N.
522
513 config DEBUG_U300_UART 523 config DEBUG_U300_UART
514 bool "Kernel low-level debugging messages via U300 UART0" 524 bool "Kernel low-level debugging messages via U300 UART0"
515 depends on ARCH_U300 525 depends on ARCH_U300
@@ -564,16 +574,6 @@ choice
564 This option selects UART0 on VIA/Wondermedia System-on-a-chip 574 This option selects UART0 on VIA/Wondermedia System-on-a-chip
565 devices, including VT8500, WM8505, WM8650 and WM8850. 575 devices, including VT8500, WM8505, WM8650 and WM8850.
566 576
567 config DEBUG_STI_UART
568 depends on ARCH_STI
569 bool "Use StiH415/416 ASC for low-level debug"
570 help
571 Say Y here if you want kernel low-level debugging support
572 on StiH415/416 based platforms like B2000, B2020.
573 It support UART2 and SBC_UART1.
574
575 If unsure, say N.
576
577 config DEBUG_LL_UART_NONE 577 config DEBUG_LL_UART_NONE
578 bool "No low-level debugging UART" 578 bool "No low-level debugging UART"
579 depends on !ARCH_MULTIPLATFORM 579 depends on !ARCH_MULTIPLATFORM
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index ab177b406b78..365760b33a26 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -828,6 +828,7 @@
828 regulator-name = "vdd_vbus_wup1"; 828 regulator-name = "vdd_vbus_wup1";
829 regulator-min-microvolt = <5000000>; 829 regulator-min-microvolt = <5000000>;
830 regulator-max-microvolt = <5000000>; 830 regulator-max-microvolt = <5000000>;
831 enable-active-high;
831 gpio = <&gpio 24 0>; /* PD0 */ 832 gpio = <&gpio 24 0>; /* PD0 */
832 }; 833 };
833 }; 834 };
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index 170159910455..ed4b901b0227 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -410,6 +410,7 @@
410 regulator-name = "usb1_vbus"; 410 regulator-name = "usb1_vbus";
411 regulator-min-microvolt = <5000000>; 411 regulator-min-microvolt = <5000000>;
412 regulator-max-microvolt = <5000000>; 412 regulator-max-microvolt = <5000000>;
413 enable-active-high;
413 gpio = <&gpio 170 0>; /* PV2 */ 414 gpio = <&gpio 170 0>; /* PV2 */
414 }; 415 };
415 }; 416 };
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
index ea078ab8edeb..ab67c94db280 100644
--- a/arch/arm/boot/dts/tegra20-whistler.dts
+++ b/arch/arm/boot/dts/tegra20-whistler.dts
@@ -586,6 +586,7 @@
586 regulator-name = "vbus1"; 586 regulator-name = "vbus1";
587 regulator-min-microvolt = <5000000>; 587 regulator-min-microvolt = <5000000>;
588 regulator-max-microvolt = <5000000>; 588 regulator-max-microvolt = <5000000>;
589 enable-active-high;
589 gpio = <&tca6416 0 0>; /* GPIO_PMU0 */ 590 gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
590 }; 591 };
591 592
@@ -595,6 +596,7 @@
595 regulator-name = "vbus3"; 596 regulator-name = "vbus3";
596 regulator-min-microvolt = <5000000>; 597 regulator-min-microvolt = <5000000>;
597 regulator-max-microvolt = <5000000>; 598 regulator-max-microvolt = <5000000>;
599 enable-active-high;
598 gpio = <&tca6416 1 0>; /* GPIO_PMU1 */ 600 gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
599 }; 601 };
600 }; 602 };
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 340d550c12b0..fe0bdc361d2c 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -1,88 +1,167 @@
1CONFIG_EXPERIMENTAL=y 1CONFIG_IRQ_DOMAIN_DEBUG=y
2CONFIG_NO_HZ=y 2CONFIG_NO_HZ=y
3CONFIG_HIGH_RES_TIMERS=y 3CONFIG_HIGH_RES_TIMERS=y
4CONFIG_BLK_DEV_INITRD=y 4CONFIG_BLK_DEV_INITRD=y
5CONFIG_ARCH_MVEBU=y 5CONFIG_ARCH_MVEBU=y
6CONFIG_MACH_ARMADA_370=y 6CONFIG_MACH_ARMADA_370=y
7CONFIG_ARCH_SIRF=y
8CONFIG_MACH_ARMADA_XP=y 7CONFIG_MACH_ARMADA_XP=y
8CONFIG_ARCH_BCM=y
9CONFIG_GPIO_PCA953X=y
9CONFIG_ARCH_HIGHBANK=y 10CONFIG_ARCH_HIGHBANK=y
11CONFIG_ARCH_KEYSTONE=y
12CONFIG_ARCH_MXC=y
13CONFIG_MACH_IMX51_DT=y
14CONFIG_SOC_IMX53=y
15CONFIG_SOC_IMX6Q=y
16CONFIG_SOC_IMX6SL=y
17CONFIG_SOC_VF610=y
18CONFIG_ARCH_OMAP3=y
19CONFIG_ARCH_OMAP4=y
20CONFIG_SOC_OMAP5=y
21CONFIG_SOC_AM33XX=y
22CONFIG_SOC_AM43XX=y
23CONFIG_ARCH_ROCKCHIP=y
10CONFIG_ARCH_SOCFPGA=y 24CONFIG_ARCH_SOCFPGA=y
11CONFIG_ARCH_SUNXI=y
12CONFIG_ARCH_WM8850=y
13# CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA is not set
14CONFIG_ARCH_ZYNQ=y
15CONFIG_ARM_ERRATA_754322=y
16CONFIG_PLAT_SPEAR=y 25CONFIG_PLAT_SPEAR=y
17CONFIG_ARCH_SPEAR13XX=y 26CONFIG_ARCH_SPEAR13XX=y
18CONFIG_MACH_SPEAR1310=y 27CONFIG_MACH_SPEAR1310=y
19CONFIG_MACH_SPEAR1340=y 28CONFIG_MACH_SPEAR1340=y
29CONFIG_ARCH_STI=y
30CONFIG_ARCH_SUNXI=y
31CONFIG_ARCH_SIRF=y
32CONFIG_ARCH_TEGRA=y
33CONFIG_ARCH_TEGRA_2x_SOC=y
34CONFIG_ARCH_TEGRA_3x_SOC=y
35CONFIG_ARCH_TEGRA_114_SOC=y
36CONFIG_TEGRA_PCI=y
37CONFIG_TEGRA_EMC_SCALING_ENABLE=y
38CONFIG_ARCH_U8500=y
39CONFIG_MACH_SNOWBALL=y
40CONFIG_MACH_UX500_DT=y
41CONFIG_ARCH_VEXPRESS=y
42CONFIG_ARCH_VEXPRESS_CA9X4=y
43CONFIG_ARCH_VIRT=y
44CONFIG_ARCH_WM8850=y
45CONFIG_ARCH_ZYNQ=y
20CONFIG_SMP=y 46CONFIG_SMP=y
21CONFIG_ARM_ARCH_TIMER=y
22CONFIG_AEABI=y
23CONFIG_HIGHMEM=y
24CONFIG_HIGHPTE=y 47CONFIG_HIGHPTE=y
25CONFIG_ARM_APPENDED_DTB=y 48CONFIG_ARM_APPENDED_DTB=y
26CONFIG_VFP=y
27CONFIG_NEON=y
28CONFIG_NET=y 49CONFIG_NET=y
50CONFIG_UNIX=y
51CONFIG_INET=y
52CONFIG_IP_PNP=y
53CONFIG_IP_PNP_DHCP=y
54CONFIG_DEVTMPFS=y
55CONFIG_DEVTMPFS_MOUNT=y
29CONFIG_BLK_DEV_SD=y 56CONFIG_BLK_DEV_SD=y
30CONFIG_ATA=y 57CONFIG_ATA=y
58CONFIG_SATA_AHCI_PLATFORM=y
31CONFIG_SATA_HIGHBANK=y 59CONFIG_SATA_HIGHBANK=y
32CONFIG_SATA_MV=y 60CONFIG_SATA_MV=y
33CONFIG_SATA_AHCI_PLATFORM=y
34CONFIG_NETDEVICES=y 61CONFIG_NETDEVICES=y
35CONFIG_SUN4I_EMAC=y 62CONFIG_SUN4I_EMAC=y
36CONFIG_NET_CALXEDA_XGMAC=y 63CONFIG_NET_CALXEDA_XGMAC=y
37CONFIG_SMSC911X=y 64CONFIG_SMSC911X=y
38CONFIG_STMMAC_ETH=y 65CONFIG_STMMAC_ETH=y
39CONFIG_SERIO_AMBAKMI=y
40CONFIG_MDIO_SUN4I=y 66CONFIG_MDIO_SUN4I=y
67CONFIG_KEYBOARD_SPEAR=y
68CONFIG_SERIO_AMBAKMI=y
41CONFIG_SERIAL_8250=y 69CONFIG_SERIAL_8250=y
42CONFIG_SERIAL_8250_CONSOLE=y 70CONFIG_SERIAL_8250_CONSOLE=y
43CONFIG_SERIAL_8250_DW=y 71CONFIG_SERIAL_8250_DW=y
44CONFIG_KEYBOARD_SPEAR=y
45CONFIG_SERIAL_AMBA_PL011=y 72CONFIG_SERIAL_AMBA_PL011=y
46CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 73CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
47CONFIG_SERIAL_OF_PLATFORM=y
48CONFIG_SERIAL_SIRFSOC=y 74CONFIG_SERIAL_SIRFSOC=y
49CONFIG_SERIAL_SIRFSOC_CONSOLE=y 75CONFIG_SERIAL_SIRFSOC_CONSOLE=y
76CONFIG_SERIAL_TEGRA=y
77CONFIG_SERIAL_IMX=y
78CONFIG_SERIAL_IMX_CONSOLE=y
50CONFIG_SERIAL_VT8500=y 79CONFIG_SERIAL_VT8500=y
51CONFIG_SERIAL_VT8500_CONSOLE=y 80CONFIG_SERIAL_VT8500_CONSOLE=y
81CONFIG_SERIAL_OF_PLATFORM=y
82CONFIG_SERIAL_OMAP=y
83CONFIG_SERIAL_OMAP_CONSOLE=y
52CONFIG_SERIAL_XILINX_PS_UART=y 84CONFIG_SERIAL_XILINX_PS_UART=y
53CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y 85CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
54CONFIG_IPMI_HANDLER=y 86CONFIG_SERIAL_FSL_LPUART=y
55CONFIG_IPMI_SI=y 87CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
56CONFIG_I2C=y
57CONFIG_I2C_DESIGNWARE_PLATFORM=y 88CONFIG_I2C_DESIGNWARE_PLATFORM=y
58CONFIG_I2C_SIRF=y 89CONFIG_I2C_SIRF=y
90CONFIG_I2C_TEGRA=y
59CONFIG_SPI=y 91CONFIG_SPI=y
60CONFIG_SPI_PL022=y 92CONFIG_SPI_PL022=y
61CONFIG_SPI_SIRF=y 93CONFIG_SPI_SIRF=y
62CONFIG_GPIO_PL061=y 94CONFIG_SPI_TEGRA114=y
63CONFIG_FB=y 95CONFIG_SPI_TEGRA20_SLINK=y
96CONFIG_PINCTRL_SINGLE=y
97CONFIG_GPIO_GENERIC_PLATFORM=y
98CONFIG_GPIO_TWL4030=y
99CONFIG_REGULATOR_GPIO=y
100CONFIG_REGULATOR_AB8500=y
101CONFIG_REGULATOR_TPS51632=y
102CONFIG_REGULATOR_TPS62360=y
103CONFIG_REGULATOR_TWL4030=y
104CONFIG_REGULATOR_VEXPRESS=y
105CONFIG_DRM=y
106CONFIG_TEGRA_HOST1X=y
107CONFIG_DRM_TEGRA=y
64CONFIG_FB_ARMCLCD=y 108CONFIG_FB_ARMCLCD=y
65CONFIG_FB_WM8505=y 109CONFIG_FB_WM8505=y
66CONFIG_FRAMEBUFFER_CONSOLE=y 110CONFIG_FB_SIMPLE=y
67CONFIG_USB=y 111CONFIG_USB=y
112CONFIG_USB_XHCI_HCD=y
113CONFIG_USB_EHCI_HCD=y
114CONFIG_USB_EHCI_MXC=y
115CONFIG_USB_EHCI_TEGRA=y
116CONFIG_USB_EHCI_HCD_PLATFORM=y
68CONFIG_USB_ISP1760_HCD=y 117CONFIG_USB_ISP1760_HCD=y
69CONFIG_USB_STORAGE=y 118CONFIG_USB_STORAGE=y
119CONFIG_AB8500_USB=y
120CONFIG_NOP_USB_XCEIV=y
121CONFIG_OMAP_USB2=y
122CONFIG_OMAP_USB3=y
123CONFIG_SAMSUNG_USB2PHY=y
124CONFIG_SAMSUNG_USB3PHY=y
125CONFIG_USB_GPIO_VBUS=y
126CONFIG_USB_ISP1301=y
127CONFIG_USB_MXS_PHY=y
70CONFIG_MMC=y 128CONFIG_MMC=y
71CONFIG_MMC_ARMMMCI=y 129CONFIG_MMC_ARMMMCI=y
72CONFIG_MMC_SDHCI=y 130CONFIG_MMC_SDHCI=y
73CONFIG_MMC_SDHCI_PLTFM=y 131CONFIG_MMC_SDHCI_PLTFM=y
132CONFIG_MMC_SDHCI_TEGRA=y
74CONFIG_MMC_SDHCI_SPEAR=y 133CONFIG_MMC_SDHCI_SPEAR=y
75CONFIG_MMC_WMT=y 134CONFIG_MMC_OMAP=y
135CONFIG_MMC_OMAP_HS=y
76CONFIG_EDAC=y 136CONFIG_EDAC=y
77CONFIG_EDAC_MM_EDAC=y 137CONFIG_EDAC_MM_EDAC=y
78CONFIG_EDAC_HIGHBANK_MC=y 138CONFIG_EDAC_HIGHBANK_MC=y
79CONFIG_EDAC_HIGHBANK_L2=y 139CONFIG_EDAC_HIGHBANK_L2=y
80CONFIG_RTC_CLASS=y 140CONFIG_RTC_CLASS=y
141CONFIG_RTC_DRV_TWL4030=y
81CONFIG_RTC_DRV_PL031=y 142CONFIG_RTC_DRV_PL031=y
82CONFIG_RTC_DRV_VT8500=y 143CONFIG_RTC_DRV_VT8500=y
83CONFIG_PWM=y 144CONFIG_RTC_DRV_TEGRA=y
84CONFIG_PWM_VT8500=y
85CONFIG_DMADEVICES=y 145CONFIG_DMADEVICES=y
86CONFIG_PL330_DMA=y
87CONFIG_SIRF_DMA=y
88CONFIG_DW_DMAC=y 146CONFIG_DW_DMAC=y
147CONFIG_TEGRA20_APB_DMA=y
148CONFIG_STE_DMA40=y
149CONFIG_SIRF_DMA=y
150CONFIG_TI_EDMA=y
151CONFIG_PL330_DMA=y
152CONFIG_IMX_SDMA=y
153CONFIG_IMX_DMA=y
154CONFIG_MXS_DMA=y
155CONFIG_DMA_OMAP=y
156CONFIG_PWM=y
157CONFIG_PWM_VT8500=y
158CONFIG_EXT4_FS=y
159CONFIG_TMPFS=y
160CONFIG_NFS_FS=y
161CONFIG_NFS_V3_ACL=y
162CONFIG_NFS_V4=y
163CONFIG_ROOT_NFS=y
164CONFIG_PRINTK_TIME=y
165CONFIG_DEBUG_FS=y
166CONFIG_DEBUG_KERNEL=y
167CONFIG_LOCKUP_DETECTOR=y
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index a24c02443920..5339e6a4d639 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -22,6 +22,10 @@ CONFIG_MODULE_SRCVERSION_ALL=y
22# CONFIG_BLK_DEV_BSG is not set 22# CONFIG_BLK_DEV_BSG is not set
23CONFIG_ARCH_MULTI_V6=y 23CONFIG_ARCH_MULTI_V6=y
24CONFIG_ARCH_OMAP2PLUS=y 24CONFIG_ARCH_OMAP2PLUS=y
25CONFIG_ARCH_OMAP2=y
26CONFIG_ARCH_OMAP3=y
27CONFIG_ARCH_OMAP4=y
28CONFIG_SOC_AM33XX=y
25CONFIG_OMAP_RESET_CLOCKS=y 29CONFIG_OMAP_RESET_CLOCKS=y
26CONFIG_OMAP_MUX_DEBUG=y 30CONFIG_OMAP_MUX_DEBUG=y
27CONFIG_ARCH_VEXPRESS_CA9X4=y 31CONFIG_ARCH_VEXPRESS_CA9X4=y
@@ -34,6 +38,8 @@ CONFIG_NR_CPUS=2
34CONFIG_LEDS=y 38CONFIG_LEDS=y
35CONFIG_ZBOOT_ROM_TEXT=0x0 39CONFIG_ZBOOT_ROM_TEXT=0x0
36CONFIG_ZBOOT_ROM_BSS=0x0 40CONFIG_ZBOOT_ROM_BSS=0x0
41CONFIG_ARM_APPENDED_DTB=y
42CONFIG_ARM_ATAG_DTB_COMPAT=y
37CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200" 43CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
38CONFIG_KEXEC=y 44CONFIG_KEXEC=y
39CONFIG_FPE_NWFPE=y 45CONFIG_FPE_NWFPE=y
@@ -152,6 +158,13 @@ CONFIG_W1=y
152CONFIG_POWER_SUPPLY=y 158CONFIG_POWER_SUPPLY=y
153CONFIG_SENSORS_LM75=m 159CONFIG_SENSORS_LM75=m
154CONFIG_WATCHDOG=y 160CONFIG_WATCHDOG=y
161CONFIG_THERMAL=y
162CONFIG_THERMAL_HWMON=y
163CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
164CONFIG_THERMAL_GOV_FAIR_SHARE=y
165CONFIG_THERMAL_GOV_STEP_WISE=y
166CONFIG_THERMAL_GOV_USER_SPACE=y
167CONFIG_CPU_THERMAL=y
155CONFIG_OMAP_WATCHDOG=y 168CONFIG_OMAP_WATCHDOG=y
156CONFIG_TWL4030_WATCHDOG=y 169CONFIG_TWL4030_WATCHDOG=y
157CONFIG_MFD_TPS65217=y 170CONFIG_MFD_TPS65217=y
@@ -238,7 +251,13 @@ CONFIG_RTC_DRV_TWL92330=y
238CONFIG_RTC_DRV_TWL4030=y 251CONFIG_RTC_DRV_TWL4030=y
239CONFIG_RTC_DRV_OMAP=y 252CONFIG_RTC_DRV_OMAP=y
240CONFIG_DMADEVICES=y 253CONFIG_DMADEVICES=y
254CONFIG_TI_EDMA=y
241CONFIG_DMA_OMAP=y 255CONFIG_DMA_OMAP=y
256CONFIG_TI_SOC_THERMAL=y
257CONFIG_TI_THERMAL=y
258CONFIG_OMAP4_THERMAL=y
259CONFIG_OMAP5_THERMAL=y
260CONFIG_DRA752_THERMAL=y
242CONFIG_EXT2_FS=y 261CONFIG_EXT2_FS=y
243CONFIG_EXT3_FS=y 262CONFIG_EXT3_FS=y
244# CONFIG_EXT3_FS_XATTR is not set 263# CONFIG_EXT3_FS_XATTR is not set
diff --git a/arch/arm/configs/u8500_defconfig b/arch/arm/configs/u8500_defconfig
index c037aa1065b7..a0025dc13021 100644
--- a/arch/arm/configs/u8500_defconfig
+++ b/arch/arm/configs/u8500_defconfig
@@ -1,6 +1,8 @@
1CONFIG_EXPERIMENTAL=y 1CONFIG_HIGHMEM=y
2# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
3CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
4CONFIG_BLK_DEV_INITRD=y 6CONFIG_BLK_DEV_INITRD=y
5CONFIG_KALLSYMS_ALL=y 7CONFIG_KALLSYMS_ALL=y
6CONFIG_MODULES=y 8CONFIG_MODULES=y
@@ -9,10 +11,7 @@ CONFIG_MODULE_UNLOAD=y
9CONFIG_ARCH_U8500=y 11CONFIG_ARCH_U8500=y
10CONFIG_MACH_HREFV60=y 12CONFIG_MACH_HREFV60=y
11CONFIG_MACH_SNOWBALL=y 13CONFIG_MACH_SNOWBALL=y
12CONFIG_MACH_U5500=y
13CONFIG_MACH_UX500_DT=y 14CONFIG_MACH_UX500_DT=y
14CONFIG_NO_HZ=y
15CONFIG_HIGH_RES_TIMERS=y
16CONFIG_SMP=y 15CONFIG_SMP=y
17CONFIG_NR_CPUS=2 16CONFIG_NR_CPUS=2
18CONFIG_PREEMPT=y 17CONFIG_PREEMPT=y
@@ -20,6 +19,7 @@ CONFIG_AEABI=y
20CONFIG_CMDLINE="root=/dev/ram0 console=ttyAMA2,115200n8" 19CONFIG_CMDLINE="root=/dev/ram0 console=ttyAMA2,115200n8"
21CONFIG_CPU_FREQ=y 20CONFIG_CPU_FREQ=y
22CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y 21CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
22CONFIG_CPU_IDLE=y
23CONFIG_VFP=y 23CONFIG_VFP=y
24CONFIG_NEON=y 24CONFIG_NEON=y
25CONFIG_PM_RUNTIME=y 25CONFIG_PM_RUNTIME=y
@@ -36,7 +36,6 @@ CONFIG_CAIF=y
36CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 36CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
37CONFIG_BLK_DEV_RAM=y 37CONFIG_BLK_DEV_RAM=y
38CONFIG_BLK_DEV_RAM_SIZE=65536 38CONFIG_BLK_DEV_RAM_SIZE=65536
39CONFIG_AB8500_PWM=y
40CONFIG_SENSORS_BH1780=y 39CONFIG_SENSORS_BH1780=y
41CONFIG_NETDEVICES=y 40CONFIG_NETDEVICES=y
42CONFIG_SMSC911X=y 41CONFIG_SMSC911X=y
@@ -60,35 +59,39 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
60CONFIG_SERIAL_AMBA_PL011=y 59CONFIG_SERIAL_AMBA_PL011=y
61CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 60CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
62CONFIG_HW_RANDOM=y 61CONFIG_HW_RANDOM=y
63CONFIG_HW_RANDOM_NOMADIK=y
64CONFIG_SPI=y 62CONFIG_SPI=y
65CONFIG_SPI_PL022=y 63CONFIG_SPI_PL022=y
66CONFIG_GPIO_STMPE=y 64CONFIG_GPIO_STMPE=y
67CONFIG_GPIO_TC3589X=y 65CONFIG_GPIO_TC3589X=y
68# CONFIG_POWER_SUPPLY is not set
69# CONFIG_AB8500_BM is not set
70# CONFIG_AB8500_BATTERY_THERM_ON_BATCTRL is not set
71CONFIG_THERMAL=y 66CONFIG_THERMAL=y
72CONFIG_CPU_THERMAL=y 67CONFIG_CPU_THERMAL=y
68CONFIG_WATCHDOG=y
73CONFIG_MFD_STMPE=y 69CONFIG_MFD_STMPE=y
74CONFIG_MFD_TC3589X=y 70CONFIG_MFD_TC3589X=y
75CONFIG_AB5500_CORE=y
76CONFIG_AB8500_CORE=y
77CONFIG_REGULATOR=y
78CONFIG_REGULATOR_AB8500=y
79CONFIG_REGULATOR_FIXED_VOLTAGE=y
80CONFIG_REGULATOR_GPIO=y 71CONFIG_REGULATOR_GPIO=y
81# CONFIG_HID_SUPPORT is not set 72CONFIG_REGULATOR_AB8500=y
82CONFIG_USB_GADGET=y 73CONFIG_SOUND=y
74CONFIG_SND=y
75CONFIG_SND_SOC=y
76CONFIG_SND_SOC_UX500=y
77CONFIG_SND_SOC_UX500_MACH_MOP500=y
78CONFIG_USB=y
79CONFIG_USB_MUSB_HDRC=y
80CONFIG_USB_MUSB_UX500=y
81CONFIG_USB_PHY=y
83CONFIG_AB8500_USB=y 82CONFIG_AB8500_USB=y
83CONFIG_USB_GADGET=y
84CONFIG_USB_GADGET_MUSB_HDRC=y
85CONFIG_USB_ETH=m
84CONFIG_MMC=y 86CONFIG_MMC=y
85CONFIG_MMC_CLKGATE=y 87CONFIG_MMC_UNSAFE_RESUME=y
88# CONFIG_MMC_BLOCK_BOUNCE is not set
86CONFIG_MMC_ARMMMCI=y 89CONFIG_MMC_ARMMMCI=y
87CONFIG_NEW_LEDS=y 90CONFIG_NEW_LEDS=y
88CONFIG_LEDS_CLASS=y 91CONFIG_LEDS_CLASS=y
89CONFIG_LEDS_LM3530=y 92CONFIG_LEDS_LM3530=y
90CONFIG_LEDS_LP5521=y
91CONFIG_LEDS_GPIO=y 93CONFIG_LEDS_GPIO=y
94CONFIG_LEDS_LP5521=y
92CONFIG_LEDS_TRIGGERS=y 95CONFIG_LEDS_TRIGGERS=y
93CONFIG_LEDS_TRIGGER_HEARTBEAT=y 96CONFIG_LEDS_TRIGGER_HEARTBEAT=y
94CONFIG_RTC_CLASS=y 97CONFIG_RTC_CLASS=y
@@ -108,7 +111,6 @@ CONFIG_EXT4_FS=y
108CONFIG_VFAT_FS=y 111CONFIG_VFAT_FS=y
109CONFIG_TMPFS=y 112CONFIG_TMPFS=y
110CONFIG_TMPFS_POSIX_ACL=y 113CONFIG_TMPFS_POSIX_ACL=y
111CONFIG_CONFIGFS_FS=m
112# CONFIG_MISC_FILESYSTEMS is not set 114# CONFIG_MISC_FILESYSTEMS is not set
113CONFIG_NFS_FS=y 115CONFIG_NFS_FS=y
114CONFIG_ROOT_NFS=y 116CONFIG_ROOT_NFS=y
@@ -122,3 +124,7 @@ CONFIG_DEBUG_KERNEL=y
122CONFIG_DEBUG_INFO=y 124CONFIG_DEBUG_INFO=y
123# CONFIG_FTRACE is not set 125# CONFIG_FTRACE is not set
124CONFIG_DEBUG_USER=y 126CONFIG_DEBUG_USER=y
127CONFIG_CRYPTO_DEV_UX500=y
128CONFIG_CRYPTO_DEV_UX500_CRYP=y
129CONFIG_CRYPTO_DEV_UX500_HASH=y
130CONFIG_CRYPTO_DEV_UX500_DEBUG=y
diff --git a/arch/arm/include/asm/smp_scu.h b/arch/arm/include/asm/smp_scu.h
index 18d169373612..0393fbab8dd5 100644
--- a/arch/arm/include/asm/smp_scu.h
+++ b/arch/arm/include/asm/smp_scu.h
@@ -23,10 +23,21 @@ static inline unsigned long scu_a9_get_base(void)
23 return pa; 23 return pa;
24} 24}
25 25
26#ifdef CONFIG_HAVE_ARM_SCU
26unsigned int scu_get_core_count(void __iomem *); 27unsigned int scu_get_core_count(void __iomem *);
27int scu_power_mode(void __iomem *, unsigned int); 28int scu_power_mode(void __iomem *, unsigned int);
29#else
30static inline unsigned int scu_get_core_count(void __iomem *scu_base)
31{
32 return 0;
33}
34static inline int scu_power_mode(void __iomem *scu_base, unsigned int mode)
35{
36 return -EINVAL;
37}
38#endif
28 39
29#ifdef CONFIG_SMP 40#if defined(CONFIG_SMP) && defined(CONFIG_HAVE_ARM_SCU)
30void scu_enable(void __iomem *scu_base); 41void scu_enable(void __iomem *scu_base);
31#else 42#else
32static inline void scu_enable(void __iomem *scu_base) {} 43static inline void scu_enable(void __iomem *scu_base) {}
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index f5f65b58181e..855d4a7b462d 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -38,7 +38,7 @@ config CPU_EXYNOS4210
38 depends on ARCH_EXYNOS4 38 depends on ARCH_EXYNOS4
39 select ARM_CPU_SUSPEND if PM 39 select ARM_CPU_SUSPEND if PM
40 select PINCTRL_EXYNOS 40 select PINCTRL_EXYNOS
41 select PM_GENERIC_DOMAINS 41 select PM_GENERIC_DOMAINS if PM
42 select S5P_PM if PM 42 select S5P_PM if PM
43 select S5P_SLEEP if PM 43 select S5P_SLEEP if PM
44 select SAMSUNG_DMADEV 44 select SAMSUNG_DMADEV
diff --git a/arch/arm/mach-ixp4xx/dsmg600-setup.c b/arch/arm/mach-ixp4xx/dsmg600-setup.c
index 686ef34c69f5..63de1b3fd06b 100644
--- a/arch/arm/mach-ixp4xx/dsmg600-setup.c
+++ b/arch/arm/mach-ixp4xx/dsmg600-setup.c
@@ -28,6 +28,7 @@
28#include <linux/i2c-gpio.h> 28#include <linux/i2c-gpio.h>
29 29
30#include <mach/hardware.h> 30#include <mach/hardware.h>
31
31#include <asm/mach-types.h> 32#include <asm/mach-types.h>
32#include <asm/mach/arch.h> 33#include <asm/mach/arch.h>
33#include <asm/mach/flash.h> 34#include <asm/mach/flash.h>
diff --git a/arch/arm/mach-ixp4xx/include/mach/timex.h b/arch/arm/mach-ixp4xx/include/mach/timex.h
index c9e930f29339..0396d89f947c 100644
--- a/arch/arm/mach-ixp4xx/include/mach/timex.h
+++ b/arch/arm/mach-ixp4xx/include/mach/timex.h
@@ -3,7 +3,7 @@
3 * 3 *
4 */ 4 */
5 5
6#include <mach/hardware.h> 6#include <mach/ixp4xx-regs.h>
7 7
8/* 8/*
9 * We use IXP425 General purpose timer for our timer needs, it runs at 9 * We use IXP425 General purpose timer for our timer needs, it runs at
diff --git a/arch/arm/mach-ixp4xx/omixp-setup.c b/arch/arm/mach-ixp4xx/omixp-setup.c
index 46a89f5e8269..75ef03dc9964 100644
--- a/arch/arm/mach-ixp4xx/omixp-setup.c
+++ b/arch/arm/mach-ixp4xx/omixp-setup.c
@@ -27,6 +27,8 @@
27#include <asm/mach/arch.h> 27#include <asm/mach/arch.h>
28#include <asm/mach/flash.h> 28#include <asm/mach/flash.h>
29 29
30#include <mach/hardware.h>
31
30static struct resource omixp_flash_resources[] = { 32static struct resource omixp_flash_resources[] = {
31 { 33 {
32 .flags = IORESOURCE_MEM, 34 .flags = IORESOURCE_MEM,
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index c7b32a966f67..627fa7e41fba 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -1,63 +1,10 @@
1config ARCH_OMAP 1config ARCH_OMAP
2 bool 2 bool
3 3
4config ARCH_OMAP2PLUS
5 bool "TI OMAP2/3/4/5 SoCs with device tree support" if (ARCH_MULTI_V6 || ARCH_MULTI_V7)
6 select ARCH_HAS_CPUFREQ
7 select ARCH_HAS_BANDGAP
8 select ARCH_HAS_HOLES_MEMORYMODEL
9 select ARCH_OMAP
10 select ARCH_REQUIRE_GPIOLIB
11 select CLKDEV_LOOKUP
12 select CLKSRC_MMIO
13 select GENERIC_CLOCKEVENTS
14 select GENERIC_IRQ_CHIP
15 select HAVE_CLK
16 select OMAP_DM_TIMER
17 select PINCTRL
18 select PROC_DEVICETREE if PROC_FS
19 select SOC_BUS
20 select SPARSE_IRQ
21 select TI_PRIV_EDMA
22 select USE_OF
23 help
24 Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
25
26
27if ARCH_OMAP2PLUS
28
29menu "TI OMAP2/3/4 Specific Features"
30
31config ARCH_OMAP2PLUS_TYPICAL
32 bool "Typical OMAP configuration"
33 default y
34 select AEABI
35 select HIGHMEM
36 select I2C
37 select I2C_OMAP
38 select MENELAUS if ARCH_OMAP2
39 select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
40 select PM_RUNTIME
41 select REGULATOR
42 select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
43 select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
44 select VFP
45 help
46 Compile a kernel suitable for booting most boards
47
48config SOC_HAS_OMAP2_SDRC
49 bool "OMAP2 SDRAM Controller support"
50
51config SOC_HAS_REALTIME_COUNTER
52 bool "Real time free running counter"
53 depends on SOC_OMAP5
54 default y
55
56config ARCH_OMAP2 4config ARCH_OMAP2
57 bool "TI OMAP2" 5 bool "TI OMAP2"
58 depends on ARCH_OMAP2PLUS
59 depends on ARCH_MULTI_V6 6 depends on ARCH_MULTI_V6
60 default y 7 select ARCH_OMAP2PLUS
61 select CPU_V6 8 select CPU_V6
62 select MULTI_IRQ_HANDLER 9 select MULTI_IRQ_HANDLER
63 select SOC_HAS_OMAP2_SDRC 10 select SOC_HAS_OMAP2_SDRC
@@ -65,9 +12,8 @@ config ARCH_OMAP2
65 12
66config ARCH_OMAP3 13config ARCH_OMAP3
67 bool "TI OMAP3" 14 bool "TI OMAP3"
68 depends on ARCH_OMAP2PLUS
69 depends on ARCH_MULTI_V7 15 depends on ARCH_MULTI_V7
70 default y 16 select ARCH_OMAP2PLUS
71 select ARCH_HAS_OPP 17 select ARCH_HAS_OPP
72 select ARM_CPU_SUSPEND if PM 18 select ARM_CPU_SUSPEND if PM
73 select CPU_V7 19 select CPU_V7
@@ -81,9 +27,8 @@ config ARCH_OMAP3
81 27
82config ARCH_OMAP4 28config ARCH_OMAP4
83 bool "TI OMAP4" 29 bool "TI OMAP4"
84 default y
85 depends on ARCH_OMAP2PLUS
86 depends on ARCH_MULTI_V7 30 depends on ARCH_MULTI_V7
31 select ARCH_OMAP2PLUS
87 select ARCH_HAS_OPP 32 select ARCH_HAS_OPP
88 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP 33 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
89 select ARM_CPU_SUSPEND if PM 34 select ARM_CPU_SUSPEND if PM
@@ -108,12 +53,87 @@ config ARCH_OMAP4
108config SOC_OMAP5 53config SOC_OMAP5
109 bool "TI OMAP5" 54 bool "TI OMAP5"
110 depends on ARCH_MULTI_V7 55 depends on ARCH_MULTI_V7
56 select ARCH_OMAP2PLUS
111 select ARM_CPU_SUSPEND if PM 57 select ARM_CPU_SUSPEND if PM
112 select ARM_GIC 58 select ARM_GIC
113 select CPU_V7 59 select CPU_V7
60 select HAVE_ARM_SCU if SMP
61 select HAVE_ARM_TWD if LOCAL_TIMERS
114 select HAVE_SMP 62 select HAVE_SMP
115 select COMMON_CLK 63 select COMMON_CLK
116 select HAVE_ARM_ARCH_TIMER 64 select HAVE_ARM_ARCH_TIMER
65 select ARM_ERRATA_798181
66
67config SOC_AM33XX
68 bool "AM33XX support"
69 depends on ARCH_MULTI_V7
70 select ARCH_OMAP2PLUS
71 select ARM_CPU_SUSPEND if PM
72 select CPU_V7
73 select MULTI_IRQ_HANDLER
74 select COMMON_CLK
75
76config SOC_AM43XX
77 bool "TI AM43x"
78 depends on ARCH_MULTI_V7
79 select CPU_V7
80 select ARCH_OMAP2PLUS
81 select MULTI_IRQ_HANDLER
82 select ARM_GIC
83 select COMMON_CLK
84 select MACH_OMAP_GENERIC
85
86config ARCH_OMAP2PLUS
87 bool
88 select ARCH_HAS_BANDGAP
89 select ARCH_HAS_CPUFREQ
90 select ARCH_HAS_HOLES_MEMORYMODEL
91 select ARCH_OMAP
92 select ARCH_REQUIRE_GPIOLIB
93 select CLKDEV_LOOKUP
94 select CLKSRC_MMIO
95 select GENERIC_CLOCKEVENTS
96 select GENERIC_IRQ_CHIP
97 select HAVE_CLK
98 select OMAP_DM_TIMER
99 select PINCTRL
100 select PROC_DEVICETREE if PROC_FS
101 select SOC_BUS
102 select SPARSE_IRQ
103 select TI_PRIV_EDMA
104 select USE_OF
105 help
106 Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
107
108
109if ARCH_OMAP2PLUS
110
111menu "TI OMAP2/3/4 Specific Features"
112
113config ARCH_OMAP2PLUS_TYPICAL
114 bool "Typical OMAP configuration"
115 default y
116 select AEABI
117 select HIGHMEM
118 select I2C
119 select I2C_OMAP
120 select MENELAUS if ARCH_OMAP2
121 select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
122 select PM_RUNTIME
123 select REGULATOR
124 select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
125 select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
126 select VFP
127 help
128 Compile a kernel suitable for booting most boards
129
130config SOC_HAS_OMAP2_SDRC
131 bool "OMAP2 SDRAM Controller support"
132
133config SOC_HAS_REALTIME_COUNTER
134 bool "Real time free running counter"
135 depends on SOC_OMAP5
136 default y
117 137
118comment "OMAP Core Type" 138comment "OMAP Core Type"
119 depends on ARCH_OMAP2 139 depends on ARCH_OMAP2
@@ -142,23 +162,6 @@ config SOC_TI81XX
142 depends on ARCH_OMAP3 162 depends on ARCH_OMAP3
143 default y 163 default y
144 164
145config SOC_AM33XX
146 bool "AM33XX support"
147 depends on ARCH_MULTI_V7
148 default y
149 select ARM_CPU_SUSPEND if PM
150 select CPU_V7
151 select MULTI_IRQ_HANDLER
152 select COMMON_CLK
153
154config SOC_AM43XX
155 bool "TI AM43x"
156 select CPU_V7
157 select MULTI_IRQ_HANDLER
158 select ARM_GIC
159 select COMMON_CLK
160 select MACH_OMAP_GENERIC
161
162config OMAP_PACKAGE_ZAF 165config OMAP_PACKAGE_ZAF
163 bool 166 bool
164 167
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index ea5a27ff9941..d4f671547c37 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -95,10 +95,6 @@ obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
95AFLAGS_sleep24xx.o :=-Wa,-march=armv6 95AFLAGS_sleep24xx.o :=-Wa,-march=armv6
96AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) 96AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
97 97
98ifeq ($(CONFIG_PM_VERBOSE),y)
99CFLAGS_pm_bus.o += -DDEBUG
100endif
101
102endif 98endif
103 99
104ifeq ($(CONFIG_CPU_IDLE),y) 100ifeq ($(CONFIG_CPU_IDLE),y)
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index b54562d1235e..87e65dde8e13 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -553,6 +553,37 @@ static struct usbhs_omap_platform_data igep3_usbhs_bdata __initdata = {
553 553
554#ifdef CONFIG_OMAP_MUX 554#ifdef CONFIG_OMAP_MUX
555static struct omap_board_mux board_mux[] __initdata = { 555static struct omap_board_mux board_mux[] __initdata = {
556 /* Display Sub System */
557 OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
558 OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
559 OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
560 OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
561 OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
562 OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
563 OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
564 OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
565 OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
566 OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
567 OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
568 OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
569 OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
570 OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
571 OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
572 OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
573 OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
574 OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
575 OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
576 OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
577 OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
578 OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
579 OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
580 OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
581 OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
582 OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
583 OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
584 OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
585 /* TFP410 PanelBus DVI Transmitte (GPIO_170) */
586 OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
556 /* SMSC9221 LAN Controller ETH IRQ (GPIO_176) */ 587 /* SMSC9221 LAN Controller ETH IRQ (GPIO_176) */
557 OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), 588 OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
558 { .reg_offset = OMAP_MUX_TERMINATOR }, 589 { .reg_offset = OMAP_MUX_TERMINATOR },
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c
index bd74f9f6063b..bdd1e3a179e1 100644
--- a/arch/arm/mach-omap2/board-rx51-video.c
+++ b/arch/arm/mach-omap2/board-rx51-video.c
@@ -61,7 +61,7 @@ static struct omap_dss_board_info rx51_dss_board_info = {
61 61
62static int __init rx51_video_init(void) 62static int __init rx51_video_init(void)
63{ 63{
64 if (!machine_is_nokia_rx51()) 64 if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900"))
65 return 0; 65 return 0;
66 66
67 if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { 67 if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) {
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index aef96e45cb20..3c1279f27d1f 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -15,7 +15,6 @@
15#include <linux/io.h> 15#include <linux/io.h>
16#include <linux/clk.h> 16#include <linux/clk.h>
17#include <linux/err.h> 17#include <linux/err.h>
18#include <linux/gpio.h>
19#include <linux/slab.h> 18#include <linux/slab.h>
20#include <linux/of.h> 19#include <linux/of.h>
21#include <linux/pinctrl/machine.h> 20#include <linux/pinctrl/machine.h>
@@ -66,7 +65,7 @@ static int __init omap3_l3_init(void)
66 65
67 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); 66 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
68 67
69 return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; 68 return PTR_RET(pdev);
70} 69}
71omap_postcore_initcall(omap3_l3_init); 70omap_postcore_initcall(omap3_l3_init);
72 71
@@ -100,7 +99,7 @@ static int __init omap4_l3_init(void)
100 99
101 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); 100 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
102 101
103 return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; 102 return PTR_RET(pdev);
104} 103}
105omap_postcore_initcall(omap4_l3_init); 104omap_postcore_initcall(omap4_l3_init);
106 105
diff --git a/arch/arm/mach-omap2/fb.c b/arch/arm/mach-omap2/fb.c
index 190ae493c6ef..2ca33cc0c484 100644
--- a/arch/arm/mach-omap2/fb.c
+++ b/arch/arm/mach-omap2/fb.c
@@ -83,10 +83,7 @@ static int __init omap_init_vrfb(void)
83 pdev = platform_device_register_resndata(NULL, "omapvrfb", -1, 83 pdev = platform_device_register_resndata(NULL, "omapvrfb", -1,
84 res, num_res, NULL, 0); 84 res, num_res, NULL, 0);
85 85
86 if (IS_ERR(pdev)) 86 return PTR_RET(pdev);
87 return PTR_ERR(pdev);
88 else
89 return 0;
90} 87}
91 88
92omap_arch_initcall(omap_init_vrfb); 89omap_arch_initcall(omap_init_vrfb);
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 1c7969e965d7..f3fdd6afa213 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -1734,7 +1734,7 @@ static int __init omap_gpmc_init(void)
1734 pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0); 1734 pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0);
1735 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name); 1735 WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
1736 1736
1737 return IS_ERR(pdev) ? PTR_ERR(pdev) : 0; 1737 return PTR_RET(pdev);
1738} 1738}
1739omap_postcore_initcall(omap_gpmc_init); 1739omap_postcore_initcall(omap_gpmc_init);
1740 1740
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index fe3253a100e7..4a3f06f02859 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -394,7 +394,7 @@ static void __init omap_hwmod_init_postsetup(void)
394 omap_pm_if_early_init(); 394 omap_pm_if_early_init();
395} 395}
396 396
397static void __init omap_common_late_init(void) 397static void __init __maybe_unused omap_common_late_init(void)
398{ 398{
399 omap_mux_late_init(); 399 omap_mux_late_init();
400 omap2_common_pm_late_init(); 400 omap2_common_pm_late_init();
diff --git a/arch/arm/mach-omap2/pmu.c b/arch/arm/mach-omap2/pmu.c
index 9ace8eae7ee8..33c8846b4193 100644
--- a/arch/arm/mach-omap2/pmu.c
+++ b/arch/arm/mach-omap2/pmu.c
@@ -54,10 +54,7 @@ static int __init omap2_init_pmu(unsigned oh_num, char *oh_names[])
54 WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n", 54 WARN(IS_ERR(omap_pmu_dev), "Can't build omap_device for %s.\n",
55 dev_name); 55 dev_name);
56 56
57 if (IS_ERR(omap_pmu_dev)) 57 return PTR_RET(omap_pmu_dev);
58 return PTR_ERR(omap_pmu_dev);
59
60 return 0;
61} 58}
62 59
63static int __init omap_init_pmu(void) 60static int __init omap_init_pmu(void)
diff --git a/arch/arm/mach-omap2/sleep44xx.S b/arch/arm/mach-omap2/sleep44xx.S
index 88ff83a0942e..9086ce03ae12 100644
--- a/arch/arm/mach-omap2/sleep44xx.S
+++ b/arch/arm/mach-omap2/sleep44xx.S
@@ -34,6 +34,8 @@ ppa_zero_params:
34ppa_por_params: 34ppa_por_params:
35 .word 1, 0 35 .word 1, 0
36 36
37#ifdef CONFIG_ARCH_OMAP4
38
37/* 39/*
38 * ============================= 40 * =============================
39 * == CPU suspend finisher == 41 * == CPU suspend finisher ==
@@ -326,7 +328,9 @@ skip_l2en:
326 328
327 b cpu_resume @ Jump to generic resume 329 b cpu_resume @ Jump to generic resume
328ENDPROC(omap4_cpu_resume) 330ENDPROC(omap4_cpu_resume)
329#endif 331#endif /* CONFIG_ARCH_OMAP4 */
332
333#endif /* defined(CONFIG_SMP) && defined(CONFIG_PM) */
330 334
331#ifndef CONFIG_OMAP4_ERRATA_I688 335#ifndef CONFIG_OMAP4_ERRATA_I688
332ENTRY(omap_bus_sync) 336ENTRY(omap_bus_sync)
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 29ac667b7a8b..b37e1fcbad56 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -220,7 +220,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
220 int posted) 220 int posted)
221{ 221{
222 char name[10]; /* 10 = sizeof("gptXX_Xck0") */ 222 char name[10]; /* 10 = sizeof("gptXX_Xck0") */
223 const char *oh_name; 223 const char *oh_name = NULL;
224 struct device_node *np; 224 struct device_node *np;
225 struct omap_hwmod *oh; 225 struct omap_hwmod *oh;
226 struct resource irq, mem; 226 struct resource irq, mem;
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c
index 899a86c31ec9..1ccddd228112 100644
--- a/arch/arm/mach-shmobile/setup-emev2.c
+++ b/arch/arm/mach-shmobile/setup-emev2.c
@@ -287,14 +287,14 @@ static struct gpio_em_config gio3_config = {
287static struct resource gio3_resources[] = { 287static struct resource gio3_resources[] = {
288 [0] = { 288 [0] = {
289 .name = "GIO_096", 289 .name = "GIO_096",
290 .start = 0xe0050100, 290 .start = 0xe0050180,
291 .end = 0xe005012b, 291 .end = 0xe00501ab,
292 .flags = IORESOURCE_MEM, 292 .flags = IORESOURCE_MEM,
293 }, 293 },
294 [1] = { 294 [1] = {
295 .name = "GIO_096", 295 .name = "GIO_096",
296 .start = 0xe0050140, 296 .start = 0xe00501c0,
297 .end = 0xe005015f, 297 .end = 0xe00501df,
298 .flags = IORESOURCE_MEM, 298 .flags = IORESOURCE_MEM,
299 }, 299 },
300 [2] = { 300 [2] = {
diff --git a/arch/arm/mach-shmobile/setup-r8a73a4.c b/arch/arm/mach-shmobile/setup-r8a73a4.c
index c5a75a7a508f..7f45c2edbca9 100644
--- a/arch/arm/mach-shmobile/setup-r8a73a4.c
+++ b/arch/arm/mach-shmobile/setup-r8a73a4.c
@@ -62,7 +62,7 @@ enum { SCIFA0, SCIFA1, SCIFB0, SCIFB1, SCIFB2, SCIFB3 };
62static const struct plat_sci_port scif[] = { 62static const struct plat_sci_port scif[] = {
63 SCIFA_DATA(SCIFA0, 0xe6c40000, gic_spi(144)), /* SCIFA0 */ 63 SCIFA_DATA(SCIFA0, 0xe6c40000, gic_spi(144)), /* SCIFA0 */
64 SCIFA_DATA(SCIFA1, 0xe6c50000, gic_spi(145)), /* SCIFA1 */ 64 SCIFA_DATA(SCIFA1, 0xe6c50000, gic_spi(145)), /* SCIFA1 */
65 SCIFB_DATA(SCIFB0, 0xe6c50000, gic_spi(145)), /* SCIFB0 */ 65 SCIFB_DATA(SCIFB0, 0xe6c20000, gic_spi(148)), /* SCIFB0 */
66 SCIFB_DATA(SCIFB1, 0xe6c30000, gic_spi(149)), /* SCIFB1 */ 66 SCIFB_DATA(SCIFB1, 0xe6c30000, gic_spi(149)), /* SCIFB1 */
67 SCIFB_DATA(SCIFB2, 0xe6ce0000, gic_spi(150)), /* SCIFB2 */ 67 SCIFB_DATA(SCIFB2, 0xe6ce0000, gic_spi(150)), /* SCIFB2 */
68 SCIFB_DATA(SCIFB3, 0xe6cf0000, gic_spi(151)), /* SCIFB3 */ 68 SCIFB_DATA(SCIFB3, 0xe6cf0000, gic_spi(151)), /* SCIFB3 */
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index 4130e65a0e3f..5b799c29886e 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -101,7 +101,7 @@ static const char * const zynq_dt_match[] = {
101 NULL 101 NULL
102}; 102};
103 103
104MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform") 104DT_MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform")
105 .smp = smp_ops(zynq_smp_ops), 105 .smp = smp_ops(zynq_smp_ops),
106 .map_io = zynq_map_io, 106 .map_io = zynq_map_io,
107 .init_machine = zynq_init_machine, 107 .init_machine = zynq_init_machine,