diff options
Diffstat (limited to 'arch')
97 files changed, 194 insertions, 191 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 5a1779c93940..1455579791ec 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
| @@ -319,13 +319,6 @@ config ARCH_WANT_OLD_COMPAT_IPC | |||
| 319 | select ARCH_WANT_COMPAT_IPC_PARSE_VERSION | 319 | select ARCH_WANT_COMPAT_IPC_PARSE_VERSION |
| 320 | bool | 320 | bool |
| 321 | 321 | ||
| 322 | config HAVE_VIRT_TO_BUS | ||
| 323 | bool | ||
| 324 | help | ||
| 325 | An architecture should select this if it implements the | ||
| 326 | deprecated interface virt_to_bus(). All new architectures | ||
| 327 | should probably not select this. | ||
| 328 | |||
| 329 | config HAVE_ARCH_SECCOMP_FILTER | 322 | config HAVE_ARCH_SECCOMP_FILTER |
| 330 | bool | 323 | bool |
| 331 | help | 324 | help |
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 5833aa441481..8a33ba01301f 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
| @@ -9,7 +9,7 @@ config ALPHA | |||
| 9 | select HAVE_PERF_EVENTS | 9 | select HAVE_PERF_EVENTS |
| 10 | select HAVE_DMA_ATTRS | 10 | select HAVE_DMA_ATTRS |
| 11 | select HAVE_GENERIC_HARDIRQS | 11 | select HAVE_GENERIC_HARDIRQS |
| 12 | select HAVE_VIRT_TO_BUS | 12 | select VIRT_TO_BUS |
| 13 | select GENERIC_IRQ_PROBE | 13 | select GENERIC_IRQ_PROBE |
| 14 | select AUTO_IRQ_AFFINITY if SMP | 14 | select AUTO_IRQ_AFFINITY if SMP |
| 15 | select GENERIC_IRQ_SHOW | 15 | select GENERIC_IRQ_SHOW |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5b714695b01b..2c3bdce15134 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -49,7 +49,7 @@ config ARM | |||
| 49 | select HAVE_REGS_AND_STACK_ACCESS_API | 49 | select HAVE_REGS_AND_STACK_ACCESS_API |
| 50 | select HAVE_SYSCALL_TRACEPOINTS | 50 | select HAVE_SYSCALL_TRACEPOINTS |
| 51 | select HAVE_UID16 | 51 | select HAVE_UID16 |
| 52 | select HAVE_VIRT_TO_BUS | 52 | select VIRT_TO_BUS |
| 53 | select KTIME_SCALAR | 53 | select KTIME_SCALAR |
| 54 | select PERF_USE_VMALLOC | 54 | select PERF_USE_VMALLOC |
| 55 | select RTC_LIB | 55 | select RTC_LIB |
| @@ -556,7 +556,6 @@ config ARCH_IXP4XX | |||
| 556 | config ARCH_DOVE | 556 | config ARCH_DOVE |
| 557 | bool "Marvell Dove" | 557 | bool "Marvell Dove" |
| 558 | select ARCH_REQUIRE_GPIOLIB | 558 | select ARCH_REQUIRE_GPIOLIB |
| 559 | select COMMON_CLK_DOVE | ||
| 560 | select CPU_V7 | 559 | select CPU_V7 |
| 561 | select GENERIC_CLOCKEVENTS | 560 | select GENERIC_CLOCKEVENTS |
| 562 | select MIGHT_HAVE_PCI | 561 | select MIGHT_HAVE_PCI |
| @@ -1657,13 +1656,16 @@ config LOCAL_TIMERS | |||
| 1657 | accounting to be spread across the timer interval, preventing a | 1656 | accounting to be spread across the timer interval, preventing a |
| 1658 | "thundering herd" at every timer tick. | 1657 | "thundering herd" at every timer tick. |
| 1659 | 1658 | ||
| 1659 | # The GPIO number here must be sorted by descending number. In case of | ||
| 1660 | # a multiplatform kernel, we just want the highest value required by the | ||
| 1661 | # selected platforms. | ||
| 1660 | config ARCH_NR_GPIO | 1662 | config ARCH_NR_GPIO |
| 1661 | int | 1663 | int |
| 1662 | default 1024 if ARCH_SHMOBILE || ARCH_TEGRA | 1664 | default 1024 if ARCH_SHMOBILE || ARCH_TEGRA |
| 1663 | default 355 if ARCH_U8500 | ||
| 1664 | default 264 if MACH_H4700 | ||
| 1665 | default 512 if SOC_OMAP5 | 1665 | default 512 if SOC_OMAP5 |
| 1666 | default 355 if ARCH_U8500 | ||
| 1666 | default 288 if ARCH_VT8500 || ARCH_SUNXI | 1667 | default 288 if ARCH_VT8500 || ARCH_SUNXI |
| 1668 | default 264 if MACH_H4700 | ||
| 1667 | default 0 | 1669 | default 0 |
| 1668 | help | 1670 | help |
| 1669 | Maximum number of GPIOs in the system. | 1671 | Maximum number of GPIOs in the system. |
| @@ -1887,8 +1889,9 @@ config XEN_DOM0 | |||
| 1887 | 1889 | ||
| 1888 | config XEN | 1890 | config XEN |
| 1889 | bool "Xen guest support on ARM (EXPERIMENTAL)" | 1891 | bool "Xen guest support on ARM (EXPERIMENTAL)" |
| 1890 | depends on ARM && OF | 1892 | depends on ARM && AEABI && OF |
| 1891 | depends on CPU_V7 && !CPU_V6 | 1893 | depends on CPU_V7 && !CPU_V6 |
| 1894 | depends on !GENERIC_ATOMIC64 | ||
| 1892 | help | 1895 | help |
| 1893 | Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. | 1896 | Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. |
| 1894 | 1897 | ||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index acddddac7ee4..ecfcdba2d17c 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
| @@ -492,7 +492,7 @@ config DEBUG_IMX_UART_PORT | |||
| 492 | DEBUG_IMX31_UART || \ | 492 | DEBUG_IMX31_UART || \ |
| 493 | DEBUG_IMX35_UART || \ | 493 | DEBUG_IMX35_UART || \ |
| 494 | DEBUG_IMX51_UART || \ | 494 | DEBUG_IMX51_UART || \ |
| 495 | DEBUG_IMX50_IMX53_UART || \ | 495 | DEBUG_IMX53_UART || \ |
| 496 | DEBUG_IMX6Q_UART | 496 | DEBUG_IMX6Q_UART |
| 497 | default 1 | 497 | default 1 |
| 498 | help | 498 | help |
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 71768b8a1ab9..84aa2caf07ed 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile | |||
| @@ -115,4 +115,4 @@ i: | |||
| 115 | $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ | 115 | $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ |
| 116 | $(obj)/Image System.map "$(INSTALL_PATH)" | 116 | $(obj)/Image System.map "$(INSTALL_PATH)" |
| 117 | 117 | ||
| 118 | subdir- := bootp compressed | 118 | subdir- := bootp compressed dts |
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts index f8e4855bc9a5..070bba4f2585 100644 --- a/arch/arm/boot/dts/armada-370-rd.dts +++ b/arch/arm/boot/dts/armada-370-rd.dts | |||
| @@ -64,5 +64,13 @@ | |||
| 64 | status = "okay"; | 64 | status = "okay"; |
| 65 | /* No CD or WP GPIOs */ | 65 | /* No CD or WP GPIOs */ |
| 66 | }; | 66 | }; |
| 67 | |||
| 68 | usb@d0050000 { | ||
| 69 | status = "okay"; | ||
| 70 | }; | ||
| 71 | |||
| 72 | usb@d0051000 { | ||
| 73 | status = "okay"; | ||
| 74 | }; | ||
| 67 | }; | 75 | }; |
| 68 | }; | 76 | }; |
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi index 6f1acc75e155..5b708208b607 100644 --- a/arch/arm/boot/dts/armada-370-xp.dtsi +++ b/arch/arm/boot/dts/armada-370-xp.dtsi | |||
| @@ -31,7 +31,6 @@ | |||
| 31 | mpic: interrupt-controller@d0020000 { | 31 | mpic: interrupt-controller@d0020000 { |
| 32 | compatible = "marvell,mpic"; | 32 | compatible = "marvell,mpic"; |
| 33 | #interrupt-cells = <1>; | 33 | #interrupt-cells = <1>; |
| 34 | #address-cells = <1>; | ||
| 35 | #size-cells = <1>; | 34 | #size-cells = <1>; |
| 36 | interrupt-controller; | 35 | interrupt-controller; |
| 37 | }; | 36 | }; |
| @@ -54,7 +53,7 @@ | |||
| 54 | reg = <0xd0012000 0x100>; | 53 | reg = <0xd0012000 0x100>; |
| 55 | reg-shift = <2>; | 54 | reg-shift = <2>; |
| 56 | interrupts = <41>; | 55 | interrupts = <41>; |
| 57 | reg-io-width = <4>; | 56 | reg-io-width = <1>; |
| 58 | status = "disabled"; | 57 | status = "disabled"; |
| 59 | }; | 58 | }; |
| 60 | serial@d0012100 { | 59 | serial@d0012100 { |
| @@ -62,7 +61,7 @@ | |||
| 62 | reg = <0xd0012100 0x100>; | 61 | reg = <0xd0012100 0x100>; |
| 63 | reg-shift = <2>; | 62 | reg-shift = <2>; |
| 64 | interrupts = <42>; | 63 | interrupts = <42>; |
| 65 | reg-io-width = <4>; | 64 | reg-io-width = <1>; |
| 66 | status = "disabled"; | 65 | status = "disabled"; |
| 67 | }; | 66 | }; |
| 68 | 67 | ||
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi index 1443949c165e..ca00d8326c87 100644 --- a/arch/arm/boot/dts/armada-xp.dtsi +++ b/arch/arm/boot/dts/armada-xp.dtsi | |||
| @@ -46,7 +46,7 @@ | |||
| 46 | reg = <0xd0012200 0x100>; | 46 | reg = <0xd0012200 0x100>; |
| 47 | reg-shift = <2>; | 47 | reg-shift = <2>; |
| 48 | interrupts = <43>; | 48 | interrupts = <43>; |
| 49 | reg-io-width = <4>; | 49 | reg-io-width = <1>; |
| 50 | status = "disabled"; | 50 | status = "disabled"; |
| 51 | }; | 51 | }; |
| 52 | serial@d0012300 { | 52 | serial@d0012300 { |
| @@ -54,7 +54,7 @@ | |||
| 54 | reg = <0xd0012300 0x100>; | 54 | reg = <0xd0012300 0x100>; |
| 55 | reg-shift = <2>; | 55 | reg-shift = <2>; |
| 56 | interrupts = <44>; | 56 | interrupts = <44>; |
| 57 | reg-io-width = <4>; | 57 | reg-io-width = <1>; |
| 58 | status = "disabled"; | 58 | status = "disabled"; |
| 59 | }; | 59 | }; |
| 60 | 60 | ||
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi index 4bf2a8774aa7..7e0481e2441a 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi | |||
| @@ -105,7 +105,7 @@ | |||
| 105 | compatible = "fixed-clock"; | 105 | compatible = "fixed-clock"; |
| 106 | reg = <1>; | 106 | reg = <1>; |
| 107 | #clock-cells = <0>; | 107 | #clock-cells = <0>; |
| 108 | clock-frequency = <150000000>; | 108 | clock-frequency = <250000000>; |
| 109 | }; | 109 | }; |
| 110 | }; | 110 | }; |
| 111 | }; | 111 | }; |
diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi index 69140ba99f46..9de93096601a 100644 --- a/arch/arm/boot/dts/dbx5x0.dtsi +++ b/arch/arm/boot/dts/dbx5x0.dtsi | |||
| @@ -319,9 +319,8 @@ | |||
| 319 | }; | 319 | }; |
| 320 | }; | 320 | }; |
| 321 | 321 | ||
| 322 | ab8500@5 { | 322 | ab8500 { |
| 323 | compatible = "stericsson,ab8500"; | 323 | compatible = "stericsson,ab8500"; |
| 324 | reg = <5>; /* mailbox 5 is i2c */ | ||
| 325 | interrupt-parent = <&intc>; | 324 | interrupt-parent = <&intc>; |
| 326 | interrupts = <0 40 0x4>; | 325 | interrupts = <0 40 0x4>; |
| 327 | interrupt-controller; | 326 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi index 67dbe20868a2..f7509cafc377 100644 --- a/arch/arm/boot/dts/dove.dtsi +++ b/arch/arm/boot/dts/dove.dtsi | |||
| @@ -197,6 +197,11 @@ | |||
| 197 | status = "disabled"; | 197 | status = "disabled"; |
| 198 | }; | 198 | }; |
| 199 | 199 | ||
| 200 | rtc@d8500 { | ||
| 201 | compatible = "marvell,orion-rtc"; | ||
| 202 | reg = <0xd8500 0x20>; | ||
| 203 | }; | ||
| 204 | |||
| 200 | crypto: crypto@30000 { | 205 | crypto: crypto@30000 { |
| 201 | compatible = "marvell,orion-crypto"; | 206 | compatible = "marvell,orion-crypto"; |
| 202 | reg = <0x30000 0x10000>, | 207 | reg = <0x30000 0x10000>, |
diff --git a/arch/arm/boot/dts/href.dtsi b/arch/arm/boot/dts/href.dtsi index 592fb9dc35bd..379128eb9d98 100644 --- a/arch/arm/boot/dts/href.dtsi +++ b/arch/arm/boot/dts/href.dtsi | |||
| @@ -221,7 +221,7 @@ | |||
| 221 | }; | 221 | }; |
| 222 | }; | 222 | }; |
| 223 | 223 | ||
| 224 | ab8500@5 { | 224 | ab8500 { |
| 225 | ab8500-regulators { | 225 | ab8500-regulators { |
| 226 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | 226 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { |
| 227 | regulator-name = "V-DISPLAY"; | 227 | regulator-name = "V-DISPLAY"; |
diff --git a/arch/arm/boot/dts/hrefv60plus.dts b/arch/arm/boot/dts/hrefv60plus.dts index 55f4191a626e..2b587a74b813 100644 --- a/arch/arm/boot/dts/hrefv60plus.dts +++ b/arch/arm/boot/dts/hrefv60plus.dts | |||
| @@ -158,7 +158,7 @@ | |||
| 158 | }; | 158 | }; |
| 159 | }; | 159 | }; |
| 160 | 160 | ||
| 161 | ab8500@5 { | 161 | ab8500 { |
| 162 | ab8500-regulators { | 162 | ab8500-regulators { |
| 163 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | 163 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { |
| 164 | regulator-name = "V-DISPLAY"; | 164 | regulator-name = "V-DISPLAY"; |
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts index e54fffd48369..468c0a1d48d9 100644 --- a/arch/arm/boot/dts/imx53-mba53.dts +++ b/arch/arm/boot/dts/imx53-mba53.dts | |||
| @@ -42,10 +42,9 @@ | |||
| 42 | fsl,pins = <689 0x10000 /* DISP1_DRDY */ | 42 | fsl,pins = <689 0x10000 /* DISP1_DRDY */ |
| 43 | 482 0x10000 /* DISP1_HSYNC */ | 43 | 482 0x10000 /* DISP1_HSYNC */ |
| 44 | 489 0x10000 /* DISP1_VSYNC */ | 44 | 489 0x10000 /* DISP1_VSYNC */ |
| 45 | 684 0x10000 /* DISP1_DAT_0 */ | ||
| 46 | 515 0x10000 /* DISP1_DAT_22 */ | 45 | 515 0x10000 /* DISP1_DAT_22 */ |
| 47 | 523 0x10000 /* DISP1_DAT_23 */ | 46 | 523 0x10000 /* DISP1_DAT_23 */ |
| 48 | 543 0x10000 /* DISP1_DAT_21 */ | 47 | 545 0x10000 /* DISP1_DAT_21 */ |
| 49 | 553 0x10000 /* DISP1_DAT_20 */ | 48 | 553 0x10000 /* DISP1_DAT_20 */ |
| 50 | 558 0x10000 /* DISP1_DAT_19 */ | 49 | 558 0x10000 /* DISP1_DAT_19 */ |
| 51 | 564 0x10000 /* DISP1_DAT_18 */ | 50 | 564 0x10000 /* DISP1_DAT_18 */ |
diff --git a/arch/arm/boot/dts/kirkwood-dns320.dts b/arch/arm/boot/dts/kirkwood-dns320.dts index 5bb0bf39d3b8..c9c44b2f62d7 100644 --- a/arch/arm/boot/dts/kirkwood-dns320.dts +++ b/arch/arm/boot/dts/kirkwood-dns320.dts | |||
| @@ -42,12 +42,10 @@ | |||
| 42 | 42 | ||
| 43 | ocp@f1000000 { | 43 | ocp@f1000000 { |
| 44 | serial@12000 { | 44 | serial@12000 { |
| 45 | clock-frequency = <166666667>; | ||
| 46 | status = "okay"; | 45 | status = "okay"; |
| 47 | }; | 46 | }; |
| 48 | 47 | ||
| 49 | serial@12100 { | 48 | serial@12100 { |
| 50 | clock-frequency = <166666667>; | ||
| 51 | status = "okay"; | 49 | status = "okay"; |
| 52 | }; | 50 | }; |
| 53 | }; | 51 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-dns325.dts b/arch/arm/boot/dts/kirkwood-dns325.dts index d430713ea9b9..e4e4930dc5cf 100644 --- a/arch/arm/boot/dts/kirkwood-dns325.dts +++ b/arch/arm/boot/dts/kirkwood-dns325.dts | |||
| @@ -50,7 +50,6 @@ | |||
| 50 | }; | 50 | }; |
| 51 | }; | 51 | }; |
| 52 | serial@12000 { | 52 | serial@12000 { |
| 53 | clock-frequency = <200000000>; | ||
| 54 | status = "okay"; | 53 | status = "okay"; |
| 55 | }; | 54 | }; |
| 56 | }; | 55 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts index 2e3dd34e21a5..0196cf6b0ef2 100644 --- a/arch/arm/boot/dts/kirkwood-dockstar.dts +++ b/arch/arm/boot/dts/kirkwood-dockstar.dts | |||
| @@ -37,7 +37,6 @@ | |||
| 37 | }; | 37 | }; |
| 38 | }; | 38 | }; |
| 39 | serial@12000 { | 39 | serial@12000 { |
| 40 | clock-frequency = <200000000>; | ||
| 41 | status = "ok"; | 40 | status = "ok"; |
| 42 | }; | 41 | }; |
| 43 | 42 | ||
diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts index ef2d8c705709..289e51d86372 100644 --- a/arch/arm/boot/dts/kirkwood-dreamplug.dts +++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts | |||
| @@ -38,7 +38,6 @@ | |||
| 38 | }; | 38 | }; |
| 39 | }; | 39 | }; |
| 40 | serial@12000 { | 40 | serial@12000 { |
| 41 | clock-frequency = <200000000>; | ||
| 42 | status = "ok"; | 41 | status = "ok"; |
| 43 | }; | 42 | }; |
| 44 | 43 | ||
diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts index 1b133e0c566e..bd83b8fc7c83 100644 --- a/arch/arm/boot/dts/kirkwood-goflexnet.dts +++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts | |||
| @@ -73,7 +73,6 @@ | |||
| 73 | }; | 73 | }; |
| 74 | }; | 74 | }; |
| 75 | serial@12000 { | 75 | serial@12000 { |
| 76 | clock-frequency = <200000000>; | ||
| 77 | status = "ok"; | 76 | status = "ok"; |
| 78 | }; | 77 | }; |
| 79 | 78 | ||
diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts index 71902da33d63..5335b1aa8601 100644 --- a/arch/arm/boot/dts/kirkwood-ib62x0.dts +++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts | |||
| @@ -51,7 +51,6 @@ | |||
| 51 | }; | 51 | }; |
| 52 | }; | 52 | }; |
| 53 | serial@12000 { | 53 | serial@12000 { |
| 54 | clock-frequency = <200000000>; | ||
| 55 | status = "okay"; | 54 | status = "okay"; |
| 56 | }; | 55 | }; |
| 57 | 56 | ||
diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts index 504f16be8b54..12ccf74ac3c4 100644 --- a/arch/arm/boot/dts/kirkwood-iconnect.dts +++ b/arch/arm/boot/dts/kirkwood-iconnect.dts | |||
| @@ -78,7 +78,6 @@ | |||
| 78 | }; | 78 | }; |
| 79 | }; | 79 | }; |
| 80 | serial@12000 { | 80 | serial@12000 { |
| 81 | clock-frequency = <200000000>; | ||
| 82 | status = "ok"; | 81 | status = "ok"; |
| 83 | }; | 82 | }; |
| 84 | 83 | ||
diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts index 6cae4599c4b3..93c3afbef9ee 100644 --- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | |||
| @@ -115,7 +115,6 @@ | |||
| 115 | }; | 115 | }; |
| 116 | 116 | ||
| 117 | serial@12000 { | 117 | serial@12000 { |
| 118 | clock-frequency = <200000000>; | ||
| 119 | status = "ok"; | 118 | status = "ok"; |
| 120 | }; | 119 | }; |
| 121 | 120 | ||
diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts index 8db3123ac80f..5bbd0542cdd3 100644 --- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts | |||
| @@ -34,7 +34,6 @@ | |||
| 34 | }; | 34 | }; |
| 35 | 35 | ||
| 36 | serial@12000 { | 36 | serial@12000 { |
| 37 | clock-frequency = <200000000>; | ||
| 38 | status = "ok"; | 37 | status = "ok"; |
| 39 | }; | 38 | }; |
| 40 | 39 | ||
diff --git a/arch/arm/boot/dts/kirkwood-lschlv2.dts b/arch/arm/boot/dts/kirkwood-lschlv2.dts index 9510c9ea666c..9f55d95f35f5 100644 --- a/arch/arm/boot/dts/kirkwood-lschlv2.dts +++ b/arch/arm/boot/dts/kirkwood-lschlv2.dts | |||
| @@ -13,7 +13,6 @@ | |||
| 13 | 13 | ||
| 14 | ocp@f1000000 { | 14 | ocp@f1000000 { |
| 15 | serial@12000 { | 15 | serial@12000 { |
| 16 | clock-frequency = <166666667>; | ||
| 17 | status = "okay"; | 16 | status = "okay"; |
| 18 | }; | 17 | }; |
| 19 | }; | 18 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-lsxhl.dts b/arch/arm/boot/dts/kirkwood-lsxhl.dts index 739019c4cba9..5c84c118ed8d 100644 --- a/arch/arm/boot/dts/kirkwood-lsxhl.dts +++ b/arch/arm/boot/dts/kirkwood-lsxhl.dts | |||
| @@ -13,7 +13,6 @@ | |||
| 13 | 13 | ||
| 14 | ocp@f1000000 { | 14 | ocp@f1000000 { |
| 15 | serial@12000 { | 15 | serial@12000 { |
| 16 | clock-frequency = <200000000>; | ||
| 17 | status = "okay"; | 16 | status = "okay"; |
| 18 | }; | 17 | }; |
| 19 | }; | 18 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts index 662dfd81b1ce..758824118a9a 100644 --- a/arch/arm/boot/dts/kirkwood-mplcec4.dts +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts | |||
| @@ -90,7 +90,6 @@ | |||
| 90 | }; | 90 | }; |
| 91 | 91 | ||
| 92 | serial@12000 { | 92 | serial@12000 { |
| 93 | clock-frequency = <200000000>; | ||
| 94 | status = "ok"; | 93 | status = "ok"; |
| 95 | }; | 94 | }; |
| 96 | 95 | ||
diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi index e8e7ecef1650..6affd924fe11 100644 --- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi +++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | }; | 23 | }; |
| 24 | 24 | ||
| 25 | serial@12000 { | 25 | serial@12000 { |
| 26 | clock-frequency = <166666667>; | ||
| 27 | status = "okay"; | 26 | status = "okay"; |
| 28 | }; | 27 | }; |
| 29 | 28 | ||
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts index 3a178cf708d7..a7412b937a8a 100644 --- a/arch/arm/boot/dts/kirkwood-nsa310.dts +++ b/arch/arm/boot/dts/kirkwood-nsa310.dts | |||
| @@ -117,7 +117,6 @@ | |||
| 117 | }; | 117 | }; |
| 118 | 118 | ||
| 119 | serial@12000 { | 119 | serial@12000 { |
| 120 | clock-frequency = <200000000>; | ||
| 121 | status = "ok"; | 120 | status = "ok"; |
| 122 | }; | 121 | }; |
| 123 | 122 | ||
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts index ede7fe0d7a87..d27f7245f8e7 100644 --- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts +++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts | |||
| @@ -18,12 +18,10 @@ | |||
| 18 | 18 | ||
| 19 | ocp@f1000000 { | 19 | ocp@f1000000 { |
| 20 | serial@12000 { | 20 | serial@12000 { |
| 21 | clock-frequency = <200000000>; | ||
| 22 | status = "ok"; | 21 | status = "ok"; |
| 23 | }; | 22 | }; |
| 24 | 23 | ||
| 25 | serial@12100 { | 24 | serial@12100 { |
| 26 | clock-frequency = <200000000>; | ||
| 27 | status = "ok"; | 25 | status = "ok"; |
| 28 | }; | 26 | }; |
| 29 | 27 | ||
diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts index 842ff95d60df..66eb45b00b25 100644 --- a/arch/arm/boot/dts/kirkwood-topkick.dts +++ b/arch/arm/boot/dts/kirkwood-topkick.dts | |||
| @@ -108,7 +108,6 @@ | |||
| 108 | }; | 108 | }; |
| 109 | 109 | ||
| 110 | serial@12000 { | 110 | serial@12000 { |
| 111 | clock-frequency = <200000000>; | ||
| 112 | status = "ok"; | 111 | status = "ok"; |
| 113 | }; | 112 | }; |
| 114 | 113 | ||
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi index 2c738d9dc82a..fada7e6d24d8 100644 --- a/arch/arm/boot/dts/kirkwood.dtsi +++ b/arch/arm/boot/dts/kirkwood.dtsi | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | interrupt-controller; | 38 | interrupt-controller; |
| 39 | #interrupt-cells = <2>; | 39 | #interrupt-cells = <2>; |
| 40 | interrupts = <35>, <36>, <37>, <38>; | 40 | interrupts = <35>, <36>, <37>, <38>; |
| 41 | clocks = <&gate_clk 7>; | ||
| 41 | }; | 42 | }; |
| 42 | 43 | ||
| 43 | gpio1: gpio@10140 { | 44 | gpio1: gpio@10140 { |
| @@ -49,6 +50,7 @@ | |||
| 49 | interrupt-controller; | 50 | interrupt-controller; |
| 50 | #interrupt-cells = <2>; | 51 | #interrupt-cells = <2>; |
| 51 | interrupts = <39>, <40>, <41>; | 52 | interrupts = <39>, <40>, <41>; |
| 53 | clocks = <&gate_clk 7>; | ||
| 52 | }; | 54 | }; |
| 53 | 55 | ||
| 54 | serial@12000 { | 56 | serial@12000 { |
| @@ -57,7 +59,6 @@ | |||
| 57 | reg-shift = <2>; | 59 | reg-shift = <2>; |
| 58 | interrupts = <33>; | 60 | interrupts = <33>; |
| 59 | clocks = <&gate_clk 7>; | 61 | clocks = <&gate_clk 7>; |
| 60 | /* set clock-frequency in board dts */ | ||
| 61 | status = "disabled"; | 62 | status = "disabled"; |
| 62 | }; | 63 | }; |
| 63 | 64 | ||
| @@ -67,7 +68,6 @@ | |||
| 67 | reg-shift = <2>; | 68 | reg-shift = <2>; |
| 68 | interrupts = <34>; | 69 | interrupts = <34>; |
| 69 | clocks = <&gate_clk 7>; | 70 | clocks = <&gate_clk 7>; |
| 70 | /* set clock-frequency in board dts */ | ||
| 71 | status = "disabled"; | 71 | status = "disabled"; |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| @@ -75,6 +75,7 @@ | |||
| 75 | compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc"; | 75 | compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc"; |
| 76 | reg = <0x10300 0x20>; | 76 | reg = <0x10300 0x20>; |
| 77 | interrupts = <53>; | 77 | interrupts = <53>; |
| 78 | clocks = <&gate_clk 7>; | ||
| 78 | }; | 79 | }; |
| 79 | 80 | ||
| 80 | spi@10600 { | 81 | spi@10600 { |
diff --git a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts index 5a3a58b7e18f..0077fc8510b7 100644 --- a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts +++ b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | / { | 12 | / { |
| 13 | model = "LaCie Ethernet Disk mini V2"; | 13 | model = "LaCie Ethernet Disk mini V2"; |
| 14 | compatible = "lacie,ethernet-disk-mini-v2", "marvell-orion5x-88f5182", "marvell,orion5x"; | 14 | compatible = "lacie,ethernet-disk-mini-v2", "marvell,orion5x-88f5182", "marvell,orion5x"; |
| 15 | 15 | ||
| 16 | memory { | 16 | memory { |
| 17 | reg = <0x00000000 0x4000000>; /* 64 MB */ | 17 | reg = <0x00000000 0x4000000>; /* 64 MB */ |
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts index 27f31a5fa494..d3ec32f6b790 100644 --- a/arch/arm/boot/dts/snowball.dts +++ b/arch/arm/boot/dts/snowball.dts | |||
| @@ -298,7 +298,7 @@ | |||
| 298 | }; | 298 | }; |
| 299 | }; | 299 | }; |
| 300 | 300 | ||
| 301 | ab8500@5 { | 301 | ab8500 { |
| 302 | ab8500-regulators { | 302 | ab8500-regulators { |
| 303 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | 303 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { |
| 304 | regulator-name = "V-DISPLAY"; | 304 | regulator-name = "V-DISPLAY"; |
diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi index 936d2306e7e1..7e8769bd5977 100644 --- a/arch/arm/boot/dts/socfpga.dtsi +++ b/arch/arm/boot/dts/socfpga.dtsi | |||
| @@ -75,6 +75,9 @@ | |||
| 75 | compatible = "arm,pl330", "arm,primecell"; | 75 | compatible = "arm,pl330", "arm,primecell"; |
| 76 | reg = <0xffe01000 0x1000>; | 76 | reg = <0xffe01000 0x1000>; |
| 77 | interrupts = <0 180 4>; | 77 | interrupts = <0 180 4>; |
| 78 | #dma-cells = <1>; | ||
| 79 | #dma-channels = <8>; | ||
| 80 | #dma-requests = <32>; | ||
| 78 | }; | 81 | }; |
| 79 | }; | 82 | }; |
| 80 | 83 | ||
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index 9a428931d042..48d00a099ce3 100644 --- a/arch/arm/boot/dts/tegra20.dtsi +++ b/arch/arm/boot/dts/tegra20.dtsi | |||
| @@ -118,6 +118,7 @@ | |||
| 118 | compatible = "arm,cortex-a9-twd-timer"; | 118 | compatible = "arm,cortex-a9-twd-timer"; |
| 119 | reg = <0x50040600 0x20>; | 119 | reg = <0x50040600 0x20>; |
| 120 | interrupts = <1 13 0x304>; | 120 | interrupts = <1 13 0x304>; |
| 121 | clocks = <&tegra_car 132>; | ||
| 121 | }; | 122 | }; |
| 122 | 123 | ||
| 123 | intc: interrupt-controller { | 124 | intc: interrupt-controller { |
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi index 767803e1fd55..9d87a3ffe998 100644 --- a/arch/arm/boot/dts/tegra30.dtsi +++ b/arch/arm/boot/dts/tegra30.dtsi | |||
| @@ -119,6 +119,7 @@ | |||
| 119 | compatible = "arm,cortex-a9-twd-timer"; | 119 | compatible = "arm,cortex-a9-twd-timer"; |
| 120 | reg = <0x50040600 0x20>; | 120 | reg = <0x50040600 0x20>; |
| 121 | interrupts = <1 13 0xf04>; | 121 | interrupts = <1 13 0xf04>; |
| 122 | clocks = <&tegra_car 214>; | ||
| 122 | }; | 123 | }; |
| 123 | 124 | ||
| 124 | intc: interrupt-controller { | 125 | intc: interrupt-controller { |
diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig index fbbc5bb022d5..6a99e30f81d2 100644 --- a/arch/arm/configs/mxs_defconfig +++ b/arch/arm/configs/mxs_defconfig | |||
| @@ -116,6 +116,7 @@ CONFIG_SND_SOC=y | |||
| 116 | CONFIG_SND_MXS_SOC=y | 116 | CONFIG_SND_MXS_SOC=y |
| 117 | CONFIG_SND_SOC_MXS_SGTL5000=y | 117 | CONFIG_SND_SOC_MXS_SGTL5000=y |
| 118 | CONFIG_USB=y | 118 | CONFIG_USB=y |
| 119 | CONFIG_USB_EHCI_HCD=y | ||
| 119 | CONFIG_USB_CHIPIDEA=y | 120 | CONFIG_USB_CHIPIDEA=y |
| 120 | CONFIG_USB_CHIPIDEA_HOST=y | 121 | CONFIG_USB_CHIPIDEA_HOST=y |
| 121 | CONFIG_USB_STORAGE=y | 122 | CONFIG_USB_STORAGE=y |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index b16bae2c9a60..bd07864f14a0 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
| @@ -126,6 +126,8 @@ CONFIG_INPUT_MISC=y | |||
| 126 | CONFIG_INPUT_TWL4030_PWRBUTTON=y | 126 | CONFIG_INPUT_TWL4030_PWRBUTTON=y |
| 127 | CONFIG_VT_HW_CONSOLE_BINDING=y | 127 | CONFIG_VT_HW_CONSOLE_BINDING=y |
| 128 | # CONFIG_LEGACY_PTYS is not set | 128 | # CONFIG_LEGACY_PTYS is not set |
| 129 | CONFIG_SERIAL_8250=y | ||
| 130 | CONFIG_SERIAL_8250_CONSOLE=y | ||
| 129 | CONFIG_SERIAL_8250_NR_UARTS=32 | 131 | CONFIG_SERIAL_8250_NR_UARTS=32 |
| 130 | CONFIG_SERIAL_8250_EXTENDED=y | 132 | CONFIG_SERIAL_8250_EXTENDED=y |
| 131 | CONFIG_SERIAL_8250_MANY_PORTS=y | 133 | CONFIG_SERIAL_8250_MANY_PORTS=y |
diff --git a/arch/arm/include/asm/xen/events.h b/arch/arm/include/asm/xen/events.h index 5c27696de14f..8b1f37bfeeec 100644 --- a/arch/arm/include/asm/xen/events.h +++ b/arch/arm/include/asm/xen/events.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | #define _ASM_ARM_XEN_EVENTS_H | 2 | #define _ASM_ARM_XEN_EVENTS_H |
| 3 | 3 | ||
| 4 | #include <asm/ptrace.h> | 4 | #include <asm/ptrace.h> |
| 5 | #include <asm/atomic.h> | ||
| 5 | 6 | ||
| 6 | enum ipi_vector { | 7 | enum ipi_vector { |
| 7 | XEN_PLACEHOLDER_VECTOR, | 8 | XEN_PLACEHOLDER_VECTOR, |
| @@ -15,26 +16,8 @@ static inline int xen_irqs_disabled(struct pt_regs *regs) | |||
| 15 | return raw_irqs_disabled_flags(regs->ARM_cpsr); | 16 | return raw_irqs_disabled_flags(regs->ARM_cpsr); |
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | /* | 19 | #define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((ptr), \ |
| 19 | * We cannot use xchg because it does not support 8-byte | 20 | atomic64_t, \ |
| 20 | * values. However it is safe to use {ldr,dtd}exd directly because all | 21 | counter), (val)) |
| 21 | * platforms which Xen can run on support those instructions. | ||
| 22 | */ | ||
| 23 | static inline xen_ulong_t xchg_xen_ulong(xen_ulong_t *ptr, xen_ulong_t val) | ||
| 24 | { | ||
| 25 | xen_ulong_t oldval; | ||
| 26 | unsigned int tmp; | ||
| 27 | |||
| 28 | wmb(); | ||
| 29 | asm volatile("@ xchg_xen_ulong\n" | ||
| 30 | "1: ldrexd %0, %H0, [%3]\n" | ||
| 31 | " strexd %1, %2, %H2, [%3]\n" | ||
| 32 | " teq %1, #0\n" | ||
| 33 | " bne 1b" | ||
| 34 | : "=&r" (oldval), "=&r" (tmp) | ||
| 35 | : "r" (val), "r" (ptr) | ||
| 36 | : "memory", "cc"); | ||
| 37 | return oldval; | ||
| 38 | } | ||
| 39 | 22 | ||
| 40 | #endif /* _ASM_ARM_XEN_EVENTS_H */ | 23 | #endif /* _ASM_ARM_XEN_EVENTS_H */ |
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index 7b025ee528a5..2f9ff93a4e61 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c | |||
| @@ -172,7 +172,7 @@ static struct clk *clk[clk_max]; | |||
| 172 | static struct clk_onecell_data clk_data; | 172 | static struct clk_onecell_data clk_data; |
| 173 | 173 | ||
| 174 | static enum mx6q_clks const clks_init_on[] __initconst = { | 174 | static enum mx6q_clks const clks_init_on[] __initconst = { |
| 175 | mmdc_ch0_axi, rom, | 175 | mmdc_ch0_axi, rom, pll1_sys, |
| 176 | }; | 176 | }; |
| 177 | 177 | ||
| 178 | static struct clk_div_table clk_enet_ref_table[] = { | 178 | static struct clk_div_table clk_enet_ref_table[] = { |
diff --git a/arch/arm/mach-imx/headsmp.S b/arch/arm/mach-imx/headsmp.S index 921fc1555854..a58c8b0527cc 100644 --- a/arch/arm/mach-imx/headsmp.S +++ b/arch/arm/mach-imx/headsmp.S | |||
| @@ -26,16 +26,16 @@ ENDPROC(v7_secondary_startup) | |||
| 26 | 26 | ||
| 27 | #ifdef CONFIG_PM | 27 | #ifdef CONFIG_PM |
| 28 | /* | 28 | /* |
| 29 | * The following code is located into the .data section. This is to | 29 | * The following code must assume it is running from physical address |
| 30 | * allow phys_l2x0_saved_regs to be accessed with a relative load | 30 | * where absolute virtual addresses to the data section have to be |
| 31 | * as we are running on physical address here. | 31 | * turned into relative ones. |
| 32 | */ | 32 | */ |
| 33 | .data | ||
| 34 | .align | ||
| 35 | 33 | ||
| 36 | #ifdef CONFIG_CACHE_L2X0 | 34 | #ifdef CONFIG_CACHE_L2X0 |
| 37 | .macro pl310_resume | 35 | .macro pl310_resume |
| 38 | ldr r2, phys_l2x0_saved_regs | 36 | adr r0, l2x0_saved_regs_offset |
| 37 | ldr r2, [r0] | ||
| 38 | add r2, r2, r0 | ||
| 39 | ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0 | 39 | ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0 |
| 40 | ldr r1, [r2, #L2X0_R_AUX_CTRL] @ get aux_ctrl value | 40 | ldr r1, [r2, #L2X0_R_AUX_CTRL] @ get aux_ctrl value |
| 41 | str r1, [r0, #L2X0_AUX_CTRL] @ restore aux_ctrl | 41 | str r1, [r0, #L2X0_AUX_CTRL] @ restore aux_ctrl |
| @@ -43,9 +43,9 @@ ENDPROC(v7_secondary_startup) | |||
| 43 | str r1, [r0, #L2X0_CTRL] @ re-enable L2 | 43 | str r1, [r0, #L2X0_CTRL] @ re-enable L2 |
| 44 | .endm | 44 | .endm |
| 45 | 45 | ||
| 46 | .globl phys_l2x0_saved_regs | 46 | l2x0_saved_regs_offset: |
| 47 | phys_l2x0_saved_regs: | 47 | .word l2x0_saved_regs - . |
| 48 | .long 0 | 48 | |
| 49 | #else | 49 | #else |
| 50 | .macro pl310_resume | 50 | .macro pl310_resume |
| 51 | .endm | 51 | .endm |
diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c index ee42d20cba19..5faba7a3c95f 100644 --- a/arch/arm/mach-imx/pm-imx6q.c +++ b/arch/arm/mach-imx/pm-imx6q.c | |||
| @@ -22,8 +22,6 @@ | |||
| 22 | #include "common.h" | 22 | #include "common.h" |
| 23 | #include "hardware.h" | 23 | #include "hardware.h" |
| 24 | 24 | ||
| 25 | extern unsigned long phys_l2x0_saved_regs; | ||
| 26 | |||
| 27 | static int imx6q_suspend_finish(unsigned long val) | 25 | static int imx6q_suspend_finish(unsigned long val) |
| 28 | { | 26 | { |
| 29 | cpu_do_idle(); | 27 | cpu_do_idle(); |
| @@ -57,18 +55,5 @@ static const struct platform_suspend_ops imx6q_pm_ops = { | |||
| 57 | 55 | ||
| 58 | void __init imx6q_pm_init(void) | 56 | void __init imx6q_pm_init(void) |
| 59 | { | 57 | { |
| 60 | /* | ||
| 61 | * The l2x0 core code provides an infrastucture to save and restore | ||
| 62 | * l2x0 registers across suspend/resume cycle. But because imx6q | ||
| 63 | * retains L2 content during suspend and needs to resume L2 before | ||
| 64 | * MMU is enabled, it can only utilize register saving support and | ||
| 65 | * have to take care of restoring on its own. So we save physical | ||
| 66 | * address of the data structure used by l2x0 core to save registers, | ||
| 67 | * and later restore the necessary ones in imx6q resume entry. | ||
| 68 | */ | ||
| 69 | #ifdef CONFIG_CACHE_L2X0 | ||
| 70 | phys_l2x0_saved_regs = __pa(&l2x0_saved_regs); | ||
| 71 | #endif | ||
| 72 | |||
| 73 | suspend_set_ops(&imx6q_pm_ops); | 58 | suspend_set_ops(&imx6q_pm_ops); |
| 74 | } | 59 | } |
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index 2e73e9d53f70..d367aa6b47bb 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c | |||
| @@ -41,16 +41,12 @@ static void __init kirkwood_legacy_clk_init(void) | |||
| 41 | 41 | ||
| 42 | struct device_node *np = of_find_compatible_node( | 42 | struct device_node *np = of_find_compatible_node( |
| 43 | NULL, NULL, "marvell,kirkwood-gating-clock"); | 43 | NULL, NULL, "marvell,kirkwood-gating-clock"); |
| 44 | |||
| 45 | struct of_phandle_args clkspec; | 44 | struct of_phandle_args clkspec; |
| 45 | struct clk *clk; | ||
| 46 | 46 | ||
| 47 | clkspec.np = np; | 47 | clkspec.np = np; |
| 48 | clkspec.args_count = 1; | 48 | clkspec.args_count = 1; |
| 49 | 49 | ||
| 50 | clkspec.args[0] = CGC_BIT_GE0; | ||
| 51 | orion_clkdev_add(NULL, "mv643xx_eth_port.0", | ||
| 52 | of_clk_get_from_provider(&clkspec)); | ||
| 53 | |||
| 54 | clkspec.args[0] = CGC_BIT_PEX0; | 50 | clkspec.args[0] = CGC_BIT_PEX0; |
| 55 | orion_clkdev_add("0", "pcie", | 51 | orion_clkdev_add("0", "pcie", |
| 56 | of_clk_get_from_provider(&clkspec)); | 52 | of_clk_get_from_provider(&clkspec)); |
| @@ -59,9 +55,24 @@ static void __init kirkwood_legacy_clk_init(void) | |||
| 59 | orion_clkdev_add("1", "pcie", | 55 | orion_clkdev_add("1", "pcie", |
| 60 | of_clk_get_from_provider(&clkspec)); | 56 | of_clk_get_from_provider(&clkspec)); |
| 61 | 57 | ||
| 62 | clkspec.args[0] = CGC_BIT_GE1; | 58 | clkspec.args[0] = CGC_BIT_SDIO; |
| 63 | orion_clkdev_add(NULL, "mv643xx_eth_port.1", | 59 | orion_clkdev_add(NULL, "mvsdio", |
| 64 | of_clk_get_from_provider(&clkspec)); | 60 | of_clk_get_from_provider(&clkspec)); |
| 61 | |||
| 62 | /* | ||
| 63 | * The ethernet interfaces forget the MAC address assigned by | ||
| 64 | * u-boot if the clocks are turned off. Until proper DT support | ||
| 65 | * is available we always enable them for now. | ||
| 66 | */ | ||
| 67 | clkspec.args[0] = CGC_BIT_GE0; | ||
| 68 | clk = of_clk_get_from_provider(&clkspec); | ||
| 69 | orion_clkdev_add(NULL, "mv643xx_eth_port.0", clk); | ||
| 70 | clk_prepare_enable(clk); | ||
| 71 | |||
| 72 | clkspec.args[0] = CGC_BIT_GE1; | ||
| 73 | clk = of_clk_get_from_provider(&clkspec); | ||
| 74 | orion_clkdev_add(NULL, "mv643xx_eth_port.1", clk); | ||
| 75 | clk_prepare_enable(clk); | ||
| 65 | } | 76 | } |
| 66 | 77 | ||
| 67 | static void __init kirkwood_of_clk_init(void) | 78 | static void __init kirkwood_of_clk_init(void) |
diff --git a/arch/arm/mach-mxs/icoll.c b/arch/arm/mach-mxs/icoll.c index 8fb23af154b3..e26eeba46598 100644 --- a/arch/arm/mach-mxs/icoll.c +++ b/arch/arm/mach-mxs/icoll.c | |||
| @@ -100,7 +100,7 @@ static struct irq_domain_ops icoll_irq_domain_ops = { | |||
| 100 | .xlate = irq_domain_xlate_onecell, | 100 | .xlate = irq_domain_xlate_onecell, |
| 101 | }; | 101 | }; |
| 102 | 102 | ||
| 103 | void __init icoll_of_init(struct device_node *np, | 103 | static void __init icoll_of_init(struct device_node *np, |
| 104 | struct device_node *interrupt_parent) | 104 | struct device_node *interrupt_parent) |
| 105 | { | 105 | { |
| 106 | /* | 106 | /* |
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c index 052186713347..3218f1f2c0e0 100644 --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c | |||
| @@ -402,17 +402,17 @@ static void __init cfa10049_init(void) | |||
| 402 | { | 402 | { |
| 403 | enable_clk_enet_out(); | 403 | enable_clk_enet_out(); |
| 404 | update_fec_mac_prop(OUI_CRYSTALFONTZ); | 404 | update_fec_mac_prop(OUI_CRYSTALFONTZ); |
| 405 | |||
| 406 | mxsfb_pdata.mode_list = cfa10049_video_modes; | ||
| 407 | mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes); | ||
| 408 | mxsfb_pdata.default_bpp = 32; | ||
| 409 | mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; | ||
| 405 | } | 410 | } |
| 406 | 411 | ||
| 407 | static void __init cfa10037_init(void) | 412 | static void __init cfa10037_init(void) |
| 408 | { | 413 | { |
| 409 | enable_clk_enet_out(); | 414 | enable_clk_enet_out(); |
| 410 | update_fec_mac_prop(OUI_CRYSTALFONTZ); | 415 | update_fec_mac_prop(OUI_CRYSTALFONTZ); |
| 411 | |||
| 412 | mxsfb_pdata.mode_list = cfa10049_video_modes; | ||
| 413 | mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes); | ||
| 414 | mxsfb_pdata.default_bpp = 32; | ||
| 415 | mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; | ||
| 416 | } | 416 | } |
| 417 | 417 | ||
| 418 | static void __init apf28_init(void) | 418 | static void __init apf28_init(void) |
diff --git a/arch/arm/mach-mxs/mm.c b/arch/arm/mach-mxs/mm.c index a4294aa9f301..e63b7d87acbd 100644 --- a/arch/arm/mach-mxs/mm.c +++ b/arch/arm/mach-mxs/mm.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | 18 | ||
| 19 | #include <mach/mx23.h> | 19 | #include <mach/mx23.h> |
| 20 | #include <mach/mx28.h> | 20 | #include <mach/mx28.h> |
| 21 | #include <mach/common.h> | ||
| 21 | 22 | ||
| 22 | /* | 23 | /* |
| 23 | * Define the MX23 memory map. | 24 | * Define the MX23 memory map. |
diff --git a/arch/arm/mach-mxs/ocotp.c b/arch/arm/mach-mxs/ocotp.c index 54add60f94c9..1dff46703753 100644 --- a/arch/arm/mach-mxs/ocotp.c +++ b/arch/arm/mach-mxs/ocotp.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <asm/processor.h> /* for cpu_relax() */ | 19 | #include <asm/processor.h> /* for cpu_relax() */ |
| 20 | 20 | ||
| 21 | #include <mach/mxs.h> | 21 | #include <mach/mxs.h> |
| 22 | #include <mach/common.h> | ||
| 22 | 23 | ||
| 23 | #define OCOTP_WORD_OFFSET 0x20 | 24 | #define OCOTP_WORD_OFFSET 0x20 |
| 24 | #define OCOTP_WORD_COUNT 0x20 | 25 | #define OCOTP_WORD_COUNT 0x20 |
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h index fb18831e88aa..14f7e9920479 100644 --- a/arch/arm/mach-omap1/common.h +++ b/arch/arm/mach-omap1/common.h | |||
| @@ -31,6 +31,8 @@ | |||
| 31 | 31 | ||
| 32 | #include <plat/i2c.h> | 32 | #include <plat/i2c.h> |
| 33 | 33 | ||
| 34 | #include <mach/irqs.h> | ||
| 35 | |||
| 34 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) | 36 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) |
| 35 | void omap7xx_map_io(void); | 37 | void omap7xx_map_io(void); |
| 36 | #else | 38 | #else |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 49ac3dfebef9..8111cd9ff3e5 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
| @@ -311,9 +311,6 @@ config MACH_OMAP_ZOOM2 | |||
| 311 | default y | 311 | default y |
| 312 | select OMAP_PACKAGE_CBB | 312 | select OMAP_PACKAGE_CBB |
| 313 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 313 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
| 314 | select SERIAL_8250 | ||
| 315 | select SERIAL_8250_CONSOLE | ||
| 316 | select SERIAL_CORE_CONSOLE | ||
| 317 | 314 | ||
| 318 | config MACH_OMAP_ZOOM3 | 315 | config MACH_OMAP_ZOOM3 |
| 319 | bool "OMAP3630 Zoom3 board" | 316 | bool "OMAP3630 Zoom3 board" |
| @@ -321,9 +318,6 @@ config MACH_OMAP_ZOOM3 | |||
| 321 | default y | 318 | default y |
| 322 | select OMAP_PACKAGE_CBP | 319 | select OMAP_PACKAGE_CBP |
| 323 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 320 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
| 324 | select SERIAL_8250 | ||
| 325 | select SERIAL_8250_CONSOLE | ||
| 326 | select SERIAL_CORE_CONSOLE | ||
| 327 | 321 | ||
| 328 | config MACH_CM_T35 | 322 | config MACH_CM_T35 |
| 329 | bool "CompuLab CM-T35/CM-T3730 modules" | 323 | bool "CompuLab CM-T35/CM-T3730 modules" |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 0274ff7a2a2b..e54a48060198 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
| @@ -102,6 +102,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") | |||
| 102 | .init_irq = omap_intc_of_init, | 102 | .init_irq = omap_intc_of_init, |
| 103 | .handle_irq = omap3_intc_handle_irq, | 103 | .handle_irq = omap3_intc_handle_irq, |
| 104 | .init_machine = omap_generic_init, | 104 | .init_machine = omap_generic_init, |
| 105 | .init_late = omap3_init_late, | ||
| 105 | .init_time = omap3_sync32k_timer_init, | 106 | .init_time = omap3_sync32k_timer_init, |
| 106 | .dt_compat = omap3_boards_compat, | 107 | .dt_compat = omap3_boards_compat, |
| 107 | .restart = omap3xxx_restart, | 108 | .restart = omap3xxx_restart, |
| @@ -119,6 +120,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") | |||
| 119 | .init_irq = omap_intc_of_init, | 120 | .init_irq = omap_intc_of_init, |
| 120 | .handle_irq = omap3_intc_handle_irq, | 121 | .handle_irq = omap3_intc_handle_irq, |
| 121 | .init_machine = omap_generic_init, | 122 | .init_machine = omap_generic_init, |
| 123 | .init_late = omap3_init_late, | ||
| 122 | .init_time = omap3_secure_sync32k_timer_init, | 124 | .init_time = omap3_secure_sync32k_timer_init, |
| 123 | .dt_compat = omap3_gp_boards_compat, | 125 | .dt_compat = omap3_gp_boards_compat, |
| 124 | .restart = omap3xxx_restart, | 126 | .restart = omap3xxx_restart, |
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index f7c4616cbb60..d2ea68ea678a 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
| 18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
| 19 | #include <linux/leds.h> | 19 | #include <linux/leds.h> |
| 20 | #include <linux/usb/phy.h> | ||
| 20 | #include <linux/usb/musb.h> | 21 | #include <linux/usb/musb.h> |
| 21 | #include <linux/platform_data/spi-omap2-mcspi.h> | 22 | #include <linux/platform_data/spi-omap2-mcspi.h> |
| 22 | 23 | ||
| @@ -98,6 +99,7 @@ static void __init rx51_init(void) | |||
| 98 | sdrc_params = nokia_get_sdram_timings(); | 99 | sdrc_params = nokia_get_sdram_timings(); |
| 99 | omap_sdrc_init(sdrc_params, sdrc_params); | 100 | omap_sdrc_init(sdrc_params, sdrc_params); |
| 100 | 101 | ||
| 102 | usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb"); | ||
| 101 | usb_musb_init(&musb_board_data); | 103 | usb_musb_init(&musb_board_data); |
| 102 | rx51_peripherals_init(); | 104 | rx51_peripherals_init(); |
| 103 | 105 | ||
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index 0a6b9c7a63da..40f4a03d728f 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
| @@ -108,7 +108,6 @@ void omap35xx_init_late(void); | |||
| 108 | void omap3630_init_late(void); | 108 | void omap3630_init_late(void); |
| 109 | void am35xx_init_late(void); | 109 | void am35xx_init_late(void); |
| 110 | void ti81xx_init_late(void); | 110 | void ti81xx_init_late(void); |
| 111 | void omap4430_init_late(void); | ||
| 112 | int omap2_common_pm_late_init(void); | 111 | int omap2_common_pm_late_init(void); |
| 113 | 112 | ||
| 114 | #if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) | 113 | #if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) |
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index e4b16c8efe8b..410e1bac7815 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
| @@ -1122,9 +1122,6 @@ int gpmc_calc_timings(struct gpmc_timings *gpmc_t, | |||
| 1122 | /* TODO: remove, see function definition */ | 1122 | /* TODO: remove, see function definition */ |
| 1123 | gpmc_convert_ps_to_ns(gpmc_t); | 1123 | gpmc_convert_ps_to_ns(gpmc_t); |
| 1124 | 1124 | ||
| 1125 | /* Now the GPMC is initialised, unreserve the chip-selects */ | ||
| 1126 | gpmc_cs_map = 0; | ||
| 1127 | |||
| 1128 | return 0; | 1125 | return 0; |
| 1129 | } | 1126 | } |
| 1130 | 1127 | ||
| @@ -1383,6 +1380,9 @@ static int gpmc_probe(struct platform_device *pdev) | |||
| 1383 | if (IS_ERR_VALUE(gpmc_setup_irq())) | 1380 | if (IS_ERR_VALUE(gpmc_setup_irq())) |
| 1384 | dev_warn(gpmc_dev, "gpmc_setup_irq failed\n"); | 1381 | dev_warn(gpmc_dev, "gpmc_setup_irq failed\n"); |
| 1385 | 1382 | ||
| 1383 | /* Now the GPMC is initialised, unreserve the chip-selects */ | ||
| 1384 | gpmc_cs_map = 0; | ||
| 1385 | |||
| 1386 | rc = gpmc_probe_dt(pdev); | 1386 | rc = gpmc_probe_dt(pdev); |
| 1387 | if (rc < 0) { | 1387 | if (rc < 0) { |
| 1388 | clk_disable_unprepare(gpmc_l3_clk); | 1388 | clk_disable_unprepare(gpmc_l3_clk); |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 6a217c98db54..f82cf878d6af 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
| @@ -211,8 +211,6 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition, | |||
| 211 | return -EINVAL; | 211 | return -EINVAL; |
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | pr_err("%s: Could not find signal %s\n", __func__, muxname); | ||
| 215 | |||
| 216 | return -ENODEV; | 214 | return -ENODEV; |
| 217 | } | 215 | } |
| 218 | 216 | ||
| @@ -234,6 +232,8 @@ int __init omap_mux_get_by_name(const char *muxname, | |||
| 234 | return mux_mode; | 232 | return mux_mode; |
| 235 | } | 233 | } |
| 236 | 234 | ||
| 235 | pr_err("%s: Could not find signal %s\n", __func__, muxname); | ||
| 236 | |||
| 237 | return -ENODEV; | 237 | return -ENODEV; |
| 238 | } | 238 | } |
| 239 | 239 | ||
| @@ -739,8 +739,9 @@ static void __init omap_mux_dbg_create_entry( | |||
| 739 | list_for_each_entry(e, &partition->muxmodes, node) { | 739 | list_for_each_entry(e, &partition->muxmodes, node) { |
| 740 | struct omap_mux *m = &e->mux; | 740 | struct omap_mux *m = &e->mux; |
| 741 | 741 | ||
| 742 | (void)debugfs_create_file(m->muxnames[0], S_IWUSR, mux_dbg_dir, | 742 | (void)debugfs_create_file(m->muxnames[0], S_IWUSR | S_IRUGO, |
| 743 | m, &omap_mux_dbg_signal_fops); | 743 | mux_dbg_dir, m, |
| 744 | &omap_mux_dbg_signal_fops); | ||
| 744 | } | 745 | } |
| 745 | } | 746 | } |
| 746 | 747 | ||
diff --git a/arch/arm/mach-spear3xx/spear3xx.c b/arch/arm/mach-spear3xx/spear3xx.c index f9d754f90c59..d2b3937c4014 100644 --- a/arch/arm/mach-spear3xx/spear3xx.c +++ b/arch/arm/mach-spear3xx/spear3xx.c | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | #define pr_fmt(fmt) "SPEAr3xx: " fmt | 14 | #define pr_fmt(fmt) "SPEAr3xx: " fmt |
| 15 | 15 | ||
| 16 | #include <linux/amba/pl022.h> | 16 | #include <linux/amba/pl022.h> |
| 17 | #include <linux/amba/pl08x.h> | 17 | #include <linux/amba/pl080.h> |
| 18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
| 19 | #include <plat/pl080.h> | 19 | #include <plat/pl080.h> |
| 20 | #include <mach/generic.h> | 20 | #include <mach/generic.h> |
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index c7e3759f16d3..e9db6b4bf65a 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c | |||
| @@ -342,6 +342,7 @@ static int __init atomic_pool_init(void) | |||
| 342 | { | 342 | { |
| 343 | struct dma_pool *pool = &atomic_pool; | 343 | struct dma_pool *pool = &atomic_pool; |
| 344 | pgprot_t prot = pgprot_dmacoherent(pgprot_kernel); | 344 | pgprot_t prot = pgprot_dmacoherent(pgprot_kernel); |
| 345 | gfp_t gfp = GFP_KERNEL | GFP_DMA; | ||
| 345 | unsigned long nr_pages = pool->size >> PAGE_SHIFT; | 346 | unsigned long nr_pages = pool->size >> PAGE_SHIFT; |
| 346 | unsigned long *bitmap; | 347 | unsigned long *bitmap; |
| 347 | struct page *page; | 348 | struct page *page; |
| @@ -361,8 +362,8 @@ static int __init atomic_pool_init(void) | |||
| 361 | ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page, | 362 | ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page, |
| 362 | atomic_pool_init); | 363 | atomic_pool_init); |
| 363 | else | 364 | else |
| 364 | ptr = __alloc_remap_buffer(NULL, pool->size, GFP_KERNEL, prot, | 365 | ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page, |
| 365 | &page, atomic_pool_init); | 366 | atomic_pool_init); |
| 366 | if (ptr) { | 367 | if (ptr) { |
| 367 | int i; | 368 | int i; |
| 368 | 369 | ||
diff --git a/arch/arm/plat-orion/addr-map.c b/arch/arm/plat-orion/addr-map.c index febe3862873c..807ac8e5cbc0 100644 --- a/arch/arm/plat-orion/addr-map.c +++ b/arch/arm/plat-orion/addr-map.c | |||
| @@ -157,9 +157,12 @@ void __init orion_setup_cpu_mbus_target(const struct orion_addr_map_cfg *cfg, | |||
| 157 | u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i)); | 157 | u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i)); |
| 158 | 158 | ||
| 159 | /* | 159 | /* |
| 160 | * Chip select enabled? | 160 | * We only take care of entries for which the chip |
| 161 | * select is enabled, and that don't have high base | ||
| 162 | * address bits set (devices can only access the first | ||
| 163 | * 32 bits of the memory). | ||
| 161 | */ | 164 | */ |
| 162 | if (size & 1) { | 165 | if ((size & 1) && !(base & 0xF)) { |
| 163 | struct mbus_dram_window *w; | 166 | struct mbus_dram_window *w; |
| 164 | 167 | ||
| 165 | w = &orion_mbus_dram_info.cs[cs++]; | 168 | w = &orion_mbus_dram_info.cs[cs++]; |
diff --git a/arch/arm/plat-spear/Kconfig b/arch/arm/plat-spear/Kconfig index 739d016eb273..8a08c31b5e20 100644 --- a/arch/arm/plat-spear/Kconfig +++ b/arch/arm/plat-spear/Kconfig | |||
| @@ -10,7 +10,7 @@ choice | |||
| 10 | 10 | ||
| 11 | config ARCH_SPEAR13XX | 11 | config ARCH_SPEAR13XX |
| 12 | bool "ST SPEAr13xx with Device Tree" | 12 | bool "ST SPEAr13xx with Device Tree" |
| 13 | select ARCH_HAVE_CPUFREQ | 13 | select ARCH_HAS_CPUFREQ |
| 14 | select ARM_GIC | 14 | select ARM_GIC |
| 15 | select CPU_V7 | 15 | select CPU_V7 |
| 16 | select GPIO_SPEAR_SPICS | 16 | select GPIO_SPEAR_SPICS |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index 9b89257b2cfd..c1a868d398bd 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
| @@ -7,7 +7,7 @@ config AVR32 | |||
| 7 | select HAVE_OPROFILE | 7 | select HAVE_OPROFILE |
| 8 | select HAVE_KPROBES | 8 | select HAVE_KPROBES |
| 9 | select HAVE_GENERIC_HARDIRQS | 9 | select HAVE_GENERIC_HARDIRQS |
| 10 | select HAVE_VIRT_TO_BUS | 10 | select VIRT_TO_BUS |
| 11 | select GENERIC_IRQ_PROBE | 11 | select GENERIC_IRQ_PROBE |
| 12 | select GENERIC_ATOMIC64 | 12 | select GENERIC_ATOMIC64 |
| 13 | select HARDIRQS_SW_RESEND | 13 | select HARDIRQS_SW_RESEND |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 600494c70e96..c3f2e0bc644a 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
| @@ -33,7 +33,7 @@ config BLACKFIN | |||
| 33 | select ARCH_HAVE_CUSTOM_GPIO_H | 33 | select ARCH_HAVE_CUSTOM_GPIO_H |
| 34 | select ARCH_WANT_OPTIONAL_GPIOLIB | 34 | select ARCH_WANT_OPTIONAL_GPIOLIB |
| 35 | select HAVE_UID16 | 35 | select HAVE_UID16 |
| 36 | select HAVE_VIRT_TO_BUS | 36 | select VIRT_TO_BUS |
| 37 | select ARCH_WANT_IPC_PARSE_VERSION | 37 | select ARCH_WANT_IPC_PARSE_VERSION |
| 38 | select HAVE_GENERIC_HARDIRQS | 38 | select HAVE_GENERIC_HARDIRQS |
| 39 | select GENERIC_ATOMIC64 | 39 | select GENERIC_ATOMIC64 |
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index bb0ac66cf533..06dd026533e3 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
| @@ -43,7 +43,7 @@ config CRIS | |||
| 43 | select GENERIC_ATOMIC64 | 43 | select GENERIC_ATOMIC64 |
| 44 | select HAVE_GENERIC_HARDIRQS | 44 | select HAVE_GENERIC_HARDIRQS |
| 45 | select HAVE_UID16 | 45 | select HAVE_UID16 |
| 46 | select HAVE_VIRT_TO_BUS | 46 | select VIRT_TO_BUS |
| 47 | select ARCH_WANT_IPC_PARSE_VERSION | 47 | select ARCH_WANT_IPC_PARSE_VERSION |
| 48 | select GENERIC_IRQ_SHOW | 48 | select GENERIC_IRQ_SHOW |
| 49 | select GENERIC_IOMAP | 49 | select GENERIC_IOMAP |
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 12369b194c7b..2ce731f9aa4d 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
| @@ -6,7 +6,7 @@ config FRV | |||
| 6 | select HAVE_PERF_EVENTS | 6 | select HAVE_PERF_EVENTS |
| 7 | select HAVE_UID16 | 7 | select HAVE_UID16 |
| 8 | select HAVE_GENERIC_HARDIRQS | 8 | select HAVE_GENERIC_HARDIRQS |
| 9 | select HAVE_VIRT_TO_BUS | 9 | select VIRT_TO_BUS |
| 10 | select GENERIC_IRQ_SHOW | 10 | select GENERIC_IRQ_SHOW |
| 11 | select HAVE_DEBUG_BUGVERBOSE | 11 | select HAVE_DEBUG_BUGVERBOSE |
| 12 | select ARCH_HAVE_NMI_SAFE_CMPXCHG | 12 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index ae8551eb3736..79250de1b12a 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
| @@ -5,7 +5,7 @@ config H8300 | |||
| 5 | select HAVE_GENERIC_HARDIRQS | 5 | select HAVE_GENERIC_HARDIRQS |
| 6 | select GENERIC_ATOMIC64 | 6 | select GENERIC_ATOMIC64 |
| 7 | select HAVE_UID16 | 7 | select HAVE_UID16 |
| 8 | select HAVE_VIRT_TO_BUS | 8 | select VIRT_TO_BUS |
| 9 | select ARCH_WANT_IPC_PARSE_VERSION | 9 | select ARCH_WANT_IPC_PARSE_VERSION |
| 10 | select GENERIC_IRQ_SHOW | 10 | select GENERIC_IRQ_SHOW |
| 11 | select GENERIC_CPU_DEVICES | 11 | select GENERIC_CPU_DEVICES |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 33f3fdc0b214..9a02f71c6b1f 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
| @@ -26,7 +26,7 @@ config IA64 | |||
| 26 | select HAVE_MEMBLOCK | 26 | select HAVE_MEMBLOCK |
| 27 | select HAVE_MEMBLOCK_NODE_MAP | 27 | select HAVE_MEMBLOCK_NODE_MAP |
| 28 | select HAVE_VIRT_CPU_ACCOUNTING | 28 | select HAVE_VIRT_CPU_ACCOUNTING |
| 29 | select HAVE_VIRT_TO_BUS | 29 | select VIRT_TO_BUS |
| 30 | select ARCH_DISCARD_MEMBLOCK | 30 | select ARCH_DISCARD_MEMBLOCK |
| 31 | select GENERIC_IRQ_PROBE | 31 | select GENERIC_IRQ_PROBE |
| 32 | select GENERIC_PENDING_IRQ if SMP | 32 | select GENERIC_PENDING_IRQ if SMP |
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 92623818a1fe..bcd17b206571 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
| @@ -10,7 +10,7 @@ config M32R | |||
| 10 | select ARCH_WANT_IPC_PARSE_VERSION | 10 | select ARCH_WANT_IPC_PARSE_VERSION |
| 11 | select HAVE_DEBUG_BUGVERBOSE | 11 | select HAVE_DEBUG_BUGVERBOSE |
| 12 | select HAVE_GENERIC_HARDIRQS | 12 | select HAVE_GENERIC_HARDIRQS |
| 13 | select HAVE_VIRT_TO_BUS | 13 | select VIRT_TO_BUS |
| 14 | select GENERIC_IRQ_PROBE | 14 | select GENERIC_IRQ_PROBE |
| 15 | select GENERIC_IRQ_SHOW | 15 | select GENERIC_IRQ_SHOW |
| 16 | select GENERIC_ATOMIC64 | 16 | select GENERIC_ATOMIC64 |
diff --git a/arch/m32r/include/uapi/asm/stat.h b/arch/m32r/include/uapi/asm/stat.h index da4518f82d6d..98470fe483b6 100644 --- a/arch/m32r/include/uapi/asm/stat.h +++ b/arch/m32r/include/uapi/asm/stat.h | |||
| @@ -63,10 +63,10 @@ struct stat64 { | |||
| 63 | long long st_size; | 63 | long long st_size; |
| 64 | unsigned long st_blksize; | 64 | unsigned long st_blksize; |
| 65 | 65 | ||
| 66 | #if defined(__BIG_ENDIAN) | 66 | #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN) |
| 67 | unsigned long __pad4; /* future possible st_blocks high bits */ | 67 | unsigned long __pad4; /* future possible st_blocks high bits */ |
| 68 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ | 68 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ |
| 69 | #elif defined(__LITTLE_ENDIAN) | 69 | #elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) |
| 70 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ | 70 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ |
| 71 | unsigned long __pad4; /* future possible st_blocks high bits */ | 71 | unsigned long __pad4; /* future possible st_blocks high bits */ |
| 72 | #else | 72 | #else |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 0e708c78e01c..6de813370b8c 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
| @@ -8,7 +8,7 @@ config M68K | |||
| 8 | select GENERIC_IRQ_SHOW | 8 | select GENERIC_IRQ_SHOW |
| 9 | select GENERIC_ATOMIC64 | 9 | select GENERIC_ATOMIC64 |
| 10 | select HAVE_UID16 | 10 | select HAVE_UID16 |
| 11 | select HAVE_VIRT_TO_BUS | 11 | select VIRT_TO_BUS |
| 12 | select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS | 12 | select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS |
| 13 | select GENERIC_CPU_DEVICES | 13 | select GENERIC_CPU_DEVICES |
| 14 | select GENERIC_STRNCPY_FROM_USER if MMU | 14 | select GENERIC_STRNCPY_FROM_USER if MMU |
diff --git a/arch/m68k/Kconfig.machine b/arch/m68k/Kconfig.machine index 7cdf6b010381..7240584d3439 100644 --- a/arch/m68k/Kconfig.machine +++ b/arch/m68k/Kconfig.machine | |||
| @@ -310,7 +310,6 @@ config COBRA5282 | |||
| 310 | config SOM5282EM | 310 | config SOM5282EM |
| 311 | bool "EMAC.Inc SOM5282EM board support" | 311 | bool "EMAC.Inc SOM5282EM board support" |
| 312 | depends on M528x | 312 | depends on M528x |
| 313 | select EMAC_INC | ||
| 314 | help | 313 | help |
| 315 | Support for the EMAC.Inc SOM5282EM module. | 314 | Support for the EMAC.Inc SOM5282EM module. |
| 316 | 315 | ||
diff --git a/arch/m68k/include/asm/MC68328.h b/arch/m68k/include/asm/MC68328.h index a337e56d09bf..4ebf098b8a1f 100644 --- a/arch/m68k/include/asm/MC68328.h +++ b/arch/m68k/include/asm/MC68328.h | |||
| @@ -293,7 +293,7 @@ | |||
| 293 | /* | 293 | /* |
| 294 | * Here go the bitmasks themselves | 294 | * Here go the bitmasks themselves |
| 295 | */ | 295 | */ |
| 296 | #define IMR_MSPIM (1 << SPIM _IRQ_NUM) /* Mask SPI Master interrupt */ | 296 | #define IMR_MSPIM (1 << SPIM_IRQ_NUM) /* Mask SPI Master interrupt */ |
| 297 | #define IMR_MTMR2 (1 << TMR2_IRQ_NUM) /* Mask Timer 2 interrupt */ | 297 | #define IMR_MTMR2 (1 << TMR2_IRQ_NUM) /* Mask Timer 2 interrupt */ |
| 298 | #define IMR_MUART (1 << UART_IRQ_NUM) /* Mask UART interrupt */ | 298 | #define IMR_MUART (1 << UART_IRQ_NUM) /* Mask UART interrupt */ |
| 299 | #define IMR_MWDT (1 << WDT_IRQ_NUM) /* Mask Watchdog Timer interrupt */ | 299 | #define IMR_MWDT (1 << WDT_IRQ_NUM) /* Mask Watchdog Timer interrupt */ |
| @@ -327,7 +327,7 @@ | |||
| 327 | #define IWR_ADDR 0xfffff308 | 327 | #define IWR_ADDR 0xfffff308 |
| 328 | #define IWR LONG_REF(IWR_ADDR) | 328 | #define IWR LONG_REF(IWR_ADDR) |
| 329 | 329 | ||
| 330 | #define IWR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ | 330 | #define IWR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */ |
| 331 | #define IWR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ | 331 | #define IWR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ |
| 332 | #define IWR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ | 332 | #define IWR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ |
| 333 | #define IWR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ | 333 | #define IWR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ |
| @@ -357,7 +357,7 @@ | |||
| 357 | #define ISR_ADDR 0xfffff30c | 357 | #define ISR_ADDR 0xfffff30c |
| 358 | #define ISR LONG_REF(ISR_ADDR) | 358 | #define ISR LONG_REF(ISR_ADDR) |
| 359 | 359 | ||
| 360 | #define ISR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ | 360 | #define ISR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */ |
| 361 | #define ISR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ | 361 | #define ISR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ |
| 362 | #define ISR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ | 362 | #define ISR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ |
| 363 | #define ISR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ | 363 | #define ISR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ |
| @@ -391,7 +391,7 @@ | |||
| 391 | #define IPR_ADDR 0xfffff310 | 391 | #define IPR_ADDR 0xfffff310 |
| 392 | #define IPR LONG_REF(IPR_ADDR) | 392 | #define IPR LONG_REF(IPR_ADDR) |
| 393 | 393 | ||
| 394 | #define IPR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ | 394 | #define IPR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */ |
| 395 | #define IPR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ | 395 | #define IPR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ |
| 396 | #define IPR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ | 396 | #define IPR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ |
| 397 | #define IPR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ | 397 | #define IPR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ |
| @@ -757,7 +757,7 @@ | |||
| 757 | 757 | ||
| 758 | /* 'EZ328-compatible definitions */ | 758 | /* 'EZ328-compatible definitions */ |
| 759 | #define TCN_ADDR TCN1_ADDR | 759 | #define TCN_ADDR TCN1_ADDR |
| 760 | #define TCN TCN | 760 | #define TCN TCN1 |
| 761 | 761 | ||
| 762 | /* | 762 | /* |
| 763 | * Timer Unit 1 and 2 Status Registers | 763 | * Timer Unit 1 and 2 Status Registers |
diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c index 71fb29938dba..911ba472e6c4 100644 --- a/arch/m68k/kernel/setup_no.c +++ b/arch/m68k/kernel/setup_no.c | |||
| @@ -57,6 +57,9 @@ void (*mach_reset)(void); | |||
| 57 | void (*mach_halt)(void); | 57 | void (*mach_halt)(void); |
| 58 | void (*mach_power_off)(void); | 58 | void (*mach_power_off)(void); |
| 59 | 59 | ||
| 60 | #ifdef CONFIG_M68000 | ||
| 61 | #define CPU_NAME "MC68000" | ||
| 62 | #endif | ||
| 60 | #ifdef CONFIG_M68328 | 63 | #ifdef CONFIG_M68328 |
| 61 | #define CPU_NAME "MC68328" | 64 | #define CPU_NAME "MC68328" |
| 62 | #endif | 65 | #endif |
diff --git a/arch/m68k/mm/init.c b/arch/m68k/mm/init.c index afd8106fd83b..519aad8fa812 100644 --- a/arch/m68k/mm/init.c +++ b/arch/m68k/mm/init.c | |||
| @@ -188,7 +188,7 @@ void __init mem_init(void) | |||
| 188 | } | 188 | } |
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | #if !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE) | 191 | #if defined(CONFIG_MMU) && !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE) |
| 192 | /* insert pointer tables allocated so far into the tablelist */ | 192 | /* insert pointer tables allocated so far into the tablelist */ |
| 193 | init_pointer_table((unsigned long)kernel_pg_dir); | 193 | init_pointer_table((unsigned long)kernel_pg_dir); |
| 194 | for (i = 0; i < PTRS_PER_PGD; i++) { | 194 | for (i = 0; i < PTRS_PER_PGD; i++) { |
diff --git a/arch/m68k/platform/coldfire/m528x.c b/arch/m68k/platform/coldfire/m528x.c index 83b7dad7a84e..b03a9d271837 100644 --- a/arch/m68k/platform/coldfire/m528x.c +++ b/arch/m68k/platform/coldfire/m528x.c | |||
| @@ -69,7 +69,7 @@ static void __init m528x_uarts_init(void) | |||
| 69 | u8 port; | 69 | u8 port; |
| 70 | 70 | ||
| 71 | /* make sure PUAPAR is set for UART0 and UART1 */ | 71 | /* make sure PUAPAR is set for UART0 and UART1 */ |
| 72 | port = readb(MCF5282_GPIO_PUAPAR); | 72 | port = readb(MCFGPIO_PUAPAR); |
| 73 | port |= 0x03 | (0x03 << 2); | 73 | port |= 0x03 | (0x03 << 2); |
| 74 | writeb(port, MCFGPIO_PUAPAR); | 74 | writeb(port, MCFGPIO_PUAPAR); |
| 75 | } | 75 | } |
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 7843d11156e6..1323fa2530eb 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig | |||
| @@ -19,7 +19,7 @@ config MICROBLAZE | |||
| 19 | select HAVE_DEBUG_KMEMLEAK | 19 | select HAVE_DEBUG_KMEMLEAK |
| 20 | select IRQ_DOMAIN | 20 | select IRQ_DOMAIN |
| 21 | select HAVE_GENERIC_HARDIRQS | 21 | select HAVE_GENERIC_HARDIRQS |
| 22 | select HAVE_VIRT_TO_BUS | 22 | select VIRT_TO_BUS |
| 23 | select GENERIC_IRQ_PROBE | 23 | select GENERIC_IRQ_PROBE |
| 24 | select GENERIC_IRQ_SHOW | 24 | select GENERIC_IRQ_SHOW |
| 25 | select GENERIC_PCI_IOMAP | 25 | select GENERIC_PCI_IOMAP |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index ae9c716c46bb..cd2e21ff562a 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
| @@ -38,7 +38,7 @@ config MIPS | |||
| 38 | select GENERIC_CLOCKEVENTS | 38 | select GENERIC_CLOCKEVENTS |
| 39 | select GENERIC_CMOS_UPDATE | 39 | select GENERIC_CMOS_UPDATE |
| 40 | select HAVE_MOD_ARCH_SPECIFIC | 40 | select HAVE_MOD_ARCH_SPECIFIC |
| 41 | select HAVE_VIRT_TO_BUS | 41 | select VIRT_TO_BUS |
| 42 | select MODULES_USE_ELF_REL if MODULES | 42 | select MODULES_USE_ELF_REL if MODULES |
| 43 | select MODULES_USE_ELF_RELA if MODULES && 64BIT | 43 | select MODULES_USE_ELF_RELA if MODULES && 64BIT |
| 44 | select CLONE_BACKWARDS | 44 | select CLONE_BACKWARDS |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index b06c7360b1c6..428da175d073 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
| @@ -8,7 +8,7 @@ config MN10300 | |||
| 8 | select HAVE_ARCH_KGDB | 8 | select HAVE_ARCH_KGDB |
| 9 | select GENERIC_ATOMIC64 | 9 | select GENERIC_ATOMIC64 |
| 10 | select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER | 10 | select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER |
| 11 | select HAVE_VIRT_TO_BUS | 11 | select VIRT_TO_BUS |
| 12 | select GENERIC_CLOCKEVENTS | 12 | select GENERIC_CLOCKEVENTS |
| 13 | select MODULES_USE_ELF_RELA | 13 | select MODULES_USE_ELF_RELA |
| 14 | select OLD_SIGSUSPEND3 | 14 | select OLD_SIGSUSPEND3 |
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 014a6482ed4c..9862d20c4bd5 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig | |||
| @@ -12,7 +12,7 @@ config OPENRISC | |||
| 12 | select ARCH_WANT_OPTIONAL_GPIOLIB | 12 | select ARCH_WANT_OPTIONAL_GPIOLIB |
| 13 | select HAVE_ARCH_TRACEHOOK | 13 | select HAVE_ARCH_TRACEHOOK |
| 14 | select HAVE_GENERIC_HARDIRQS | 14 | select HAVE_GENERIC_HARDIRQS |
| 15 | select HAVE_VIRT_TO_BUS | 15 | select VIRT_TO_BUS |
| 16 | select GENERIC_IRQ_CHIP | 16 | select GENERIC_IRQ_CHIP |
| 17 | select GENERIC_IRQ_PROBE | 17 | select GENERIC_IRQ_PROBE |
| 18 | select GENERIC_IRQ_SHOW | 18 | select GENERIC_IRQ_SHOW |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index a9ff712a2864..0339181bf3ac 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
| @@ -21,7 +21,7 @@ config PARISC | |||
| 21 | select GENERIC_STRNCPY_FROM_USER | 21 | select GENERIC_STRNCPY_FROM_USER |
| 22 | select SYSCTL_ARCH_UNALIGN_ALLOW | 22 | select SYSCTL_ARCH_UNALIGN_ALLOW |
| 23 | select HAVE_MOD_ARCH_SPECIFIC | 23 | select HAVE_MOD_ARCH_SPECIFIC |
| 24 | select HAVE_VIRT_TO_BUS | 24 | select VIRT_TO_BUS |
| 25 | select MODULES_USE_ELF_RELA | 25 | select MODULES_USE_ELF_RELA |
| 26 | select CLONE_BACKWARDS | 26 | select CLONE_BACKWARDS |
| 27 | select TTY # Needed for pdc_cons.c | 27 | select TTY # Needed for pdc_cons.c |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index b89d7eb730a2..80821512e9cc 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -98,7 +98,7 @@ config PPC | |||
| 98 | select HAVE_FUNCTION_GRAPH_TRACER | 98 | select HAVE_FUNCTION_GRAPH_TRACER |
| 99 | select SYSCTL_EXCEPTION_TRACE | 99 | select SYSCTL_EXCEPTION_TRACE |
| 100 | select ARCH_WANT_OPTIONAL_GPIOLIB | 100 | select ARCH_WANT_OPTIONAL_GPIOLIB |
| 101 | select HAVE_VIRT_TO_BUS if !PPC64 | 101 | select VIRT_TO_BUS if !PPC64 |
| 102 | select HAVE_IDE | 102 | select HAVE_IDE |
| 103 | select HAVE_IOREMAP_PROT | 103 | select HAVE_IOREMAP_PROT |
| 104 | select HAVE_EFFICIENT_UNALIGNED_ACCESS | 104 | select HAVE_EFFICIENT_UNALIGNED_ACCESS |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 4b505370a1d5..eb8fb629f00b 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
| @@ -134,7 +134,7 @@ config S390 | |||
| 134 | select HAVE_SYSCALL_WRAPPERS | 134 | select HAVE_SYSCALL_WRAPPERS |
| 135 | select HAVE_UID16 if 32BIT | 135 | select HAVE_UID16 if 32BIT |
| 136 | select HAVE_VIRT_CPU_ACCOUNTING | 136 | select HAVE_VIRT_CPU_ACCOUNTING |
| 137 | select HAVE_VIRT_TO_BUS | 137 | select VIRT_TO_BUS |
| 138 | select INIT_ALL_POSSIBLE | 138 | select INIT_ALL_POSSIBLE |
| 139 | select KTIME_SCALAR if 32BIT | 139 | select KTIME_SCALAR if 32BIT |
| 140 | select MODULES_USE_ELF_RELA | 140 | select MODULES_USE_ELF_RELA |
diff --git a/arch/s390/include/asm/cpu_mf.h b/arch/s390/include/asm/cpu_mf.h index f1eddd150dd7..c879fad404c8 100644 --- a/arch/s390/include/asm/cpu_mf.h +++ b/arch/s390/include/asm/cpu_mf.h | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #ifndef _ASM_S390_CPU_MF_H | 12 | #ifndef _ASM_S390_CPU_MF_H |
| 13 | #define _ASM_S390_CPU_MF_H | 13 | #define _ASM_S390_CPU_MF_H |
| 14 | 14 | ||
| 15 | #include <linux/errno.h> | ||
| 15 | #include <asm/facility.h> | 16 | #include <asm/facility.h> |
| 16 | 17 | ||
| 17 | #define CPU_MF_INT_SF_IAE (1 << 31) /* invalid entry address */ | 18 | #define CPU_MF_INT_SF_IAE (1 << 31) /* invalid entry address */ |
diff --git a/arch/score/Kconfig b/arch/score/Kconfig index e569aa1fd2ba..c8def8bc9020 100644 --- a/arch/score/Kconfig +++ b/arch/score/Kconfig | |||
| @@ -12,7 +12,7 @@ config SCORE | |||
| 12 | select GENERIC_CPU_DEVICES | 12 | select GENERIC_CPU_DEVICES |
| 13 | select GENERIC_CLOCKEVENTS | 13 | select GENERIC_CLOCKEVENTS |
| 14 | select HAVE_MOD_ARCH_SPECIFIC | 14 | select HAVE_MOD_ARCH_SPECIFIC |
| 15 | select HAVE_VIRT_TO_BUS | 15 | select VIRT_TO_BUS |
| 16 | select MODULES_USE_ELF_REL | 16 | select MODULES_USE_ELF_REL |
| 17 | select CLONE_BACKWARDS | 17 | select CLONE_BACKWARDS |
| 18 | 18 | ||
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index ff496ab1e794..25877aebc685 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
| @@ -17,7 +17,7 @@ config TILE | |||
| 17 | select GENERIC_IRQ_SHOW | 17 | select GENERIC_IRQ_SHOW |
| 18 | select HAVE_DEBUG_BUGVERBOSE | 18 | select HAVE_DEBUG_BUGVERBOSE |
| 19 | select HAVE_SYSCALL_WRAPPERS if TILEGX | 19 | select HAVE_SYSCALL_WRAPPERS if TILEGX |
| 20 | select HAVE_VIRT_TO_BUS | 20 | select VIRT_TO_BUS |
| 21 | select SYS_HYPERVISOR | 21 | select SYS_HYPERVISOR |
| 22 | select ARCH_HAVE_NMI_SAFE_CMPXCHG | 22 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
| 23 | select GENERIC_CLOCKEVENTS | 23 | select GENERIC_CLOCKEVENTS |
diff --git a/arch/um/drivers/chan.h b/arch/um/drivers/chan.h index 78f1b8999964..c512b0306dd4 100644 --- a/arch/um/drivers/chan.h +++ b/arch/um/drivers/chan.h | |||
| @@ -37,7 +37,7 @@ extern int console_write_chan(struct chan *chan, const char *buf, | |||
| 37 | extern int console_open_chan(struct line *line, struct console *co); | 37 | extern int console_open_chan(struct line *line, struct console *co); |
| 38 | extern void deactivate_chan(struct chan *chan, int irq); | 38 | extern void deactivate_chan(struct chan *chan, int irq); |
| 39 | extern void reactivate_chan(struct chan *chan, int irq); | 39 | extern void reactivate_chan(struct chan *chan, int irq); |
| 40 | extern void chan_enable_winch(struct chan *chan, struct tty_struct *tty); | 40 | extern void chan_enable_winch(struct chan *chan, struct tty_port *port); |
| 41 | extern int enable_chan(struct line *line); | 41 | extern int enable_chan(struct line *line); |
| 42 | extern void close_chan(struct line *line); | 42 | extern void close_chan(struct line *line); |
| 43 | extern int chan_window_size(struct line *line, | 43 | extern int chan_window_size(struct line *line, |
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 15c553c239a1..80b47cb71e0a 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c | |||
| @@ -122,10 +122,10 @@ static int open_chan(struct list_head *chans) | |||
| 122 | return err; | 122 | return err; |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | void chan_enable_winch(struct chan *chan, struct tty_struct *tty) | 125 | void chan_enable_winch(struct chan *chan, struct tty_port *port) |
| 126 | { | 126 | { |
| 127 | if (chan && chan->primary && chan->ops->winch) | 127 | if (chan && chan->primary && chan->ops->winch) |
| 128 | register_winch(chan->fd, tty); | 128 | register_winch(chan->fd, port); |
| 129 | } | 129 | } |
| 130 | 130 | ||
| 131 | static void line_timer_cb(struct work_struct *work) | 131 | static void line_timer_cb(struct work_struct *work) |
diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index 9be670ad23b5..3fd7c3efdb18 100644 --- a/arch/um/drivers/chan_user.c +++ b/arch/um/drivers/chan_user.c | |||
| @@ -216,7 +216,7 @@ static int winch_thread(void *arg) | |||
| 216 | } | 216 | } |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out, | 219 | static int winch_tramp(int fd, struct tty_port *port, int *fd_out, |
| 220 | unsigned long *stack_out) | 220 | unsigned long *stack_out) |
| 221 | { | 221 | { |
| 222 | struct winch_data data; | 222 | struct winch_data data; |
| @@ -271,7 +271,7 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out, | |||
| 271 | return err; | 271 | return err; |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | void register_winch(int fd, struct tty_struct *tty) | 274 | void register_winch(int fd, struct tty_port *port) |
| 275 | { | 275 | { |
| 276 | unsigned long stack; | 276 | unsigned long stack; |
| 277 | int pid, thread, count, thread_fd = -1; | 277 | int pid, thread, count, thread_fd = -1; |
| @@ -281,17 +281,17 @@ void register_winch(int fd, struct tty_struct *tty) | |||
| 281 | return; | 281 | return; |
| 282 | 282 | ||
| 283 | pid = tcgetpgrp(fd); | 283 | pid = tcgetpgrp(fd); |
| 284 | if (is_skas_winch(pid, fd, tty)) { | 284 | if (is_skas_winch(pid, fd, port)) { |
| 285 | register_winch_irq(-1, fd, -1, tty, 0); | 285 | register_winch_irq(-1, fd, -1, port, 0); |
| 286 | return; | 286 | return; |
| 287 | } | 287 | } |
| 288 | 288 | ||
| 289 | if (pid == -1) { | 289 | if (pid == -1) { |
| 290 | thread = winch_tramp(fd, tty, &thread_fd, &stack); | 290 | thread = winch_tramp(fd, port, &thread_fd, &stack); |
| 291 | if (thread < 0) | 291 | if (thread < 0) |
| 292 | return; | 292 | return; |
| 293 | 293 | ||
| 294 | register_winch_irq(thread_fd, fd, thread, tty, stack); | 294 | register_winch_irq(thread_fd, fd, thread, port, stack); |
| 295 | 295 | ||
| 296 | count = write(thread_fd, &c, sizeof(c)); | 296 | count = write(thread_fd, &c, sizeof(c)); |
| 297 | if (count != sizeof(c)) | 297 | if (count != sizeof(c)) |
diff --git a/arch/um/drivers/chan_user.h b/arch/um/drivers/chan_user.h index dc693298eb8f..03f1b565c5f9 100644 --- a/arch/um/drivers/chan_user.h +++ b/arch/um/drivers/chan_user.h | |||
| @@ -38,10 +38,10 @@ extern int generic_window_size(int fd, void *unused, unsigned short *rows_out, | |||
| 38 | unsigned short *cols_out); | 38 | unsigned short *cols_out); |
| 39 | extern void generic_free(void *data); | 39 | extern void generic_free(void *data); |
| 40 | 40 | ||
| 41 | struct tty_struct; | 41 | struct tty_port; |
| 42 | extern void register_winch(int fd, struct tty_struct *tty); | 42 | extern void register_winch(int fd, struct tty_port *port); |
| 43 | extern void register_winch_irq(int fd, int tty_fd, int pid, | 43 | extern void register_winch_irq(int fd, int tty_fd, int pid, |
| 44 | struct tty_struct *tty, unsigned long stack); | 44 | struct tty_port *port, unsigned long stack); |
| 45 | 45 | ||
| 46 | #define __channel_help(fn, prefix) \ | 46 | #define __channel_help(fn, prefix) \ |
| 47 | __uml_help(fn, prefix "[0-9]*=<channel description>\n" \ | 47 | __uml_help(fn, prefix "[0-9]*=<channel description>\n" \ |
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index f1b38571f94e..be541cf69fd2 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c | |||
| @@ -305,7 +305,7 @@ static int line_activate(struct tty_port *port, struct tty_struct *tty) | |||
| 305 | return ret; | 305 | return ret; |
| 306 | 306 | ||
| 307 | if (!line->sigio) { | 307 | if (!line->sigio) { |
| 308 | chan_enable_winch(line->chan_out, tty); | 308 | chan_enable_winch(line->chan_out, port); |
| 309 | line->sigio = 1; | 309 | line->sigio = 1; |
| 310 | } | 310 | } |
| 311 | 311 | ||
| @@ -315,8 +315,22 @@ static int line_activate(struct tty_port *port, struct tty_struct *tty) | |||
| 315 | return 0; | 315 | return 0; |
| 316 | } | 316 | } |
| 317 | 317 | ||
| 318 | static void unregister_winch(struct tty_struct *tty); | ||
| 319 | |||
| 320 | static void line_destruct(struct tty_port *port) | ||
| 321 | { | ||
| 322 | struct tty_struct *tty = tty_port_tty_get(port); | ||
| 323 | struct line *line = tty->driver_data; | ||
| 324 | |||
| 325 | if (line->sigio) { | ||
| 326 | unregister_winch(tty); | ||
| 327 | line->sigio = 0; | ||
| 328 | } | ||
| 329 | } | ||
| 330 | |||
| 318 | static const struct tty_port_operations line_port_ops = { | 331 | static const struct tty_port_operations line_port_ops = { |
| 319 | .activate = line_activate, | 332 | .activate = line_activate, |
| 333 | .destruct = line_destruct, | ||
| 320 | }; | 334 | }; |
| 321 | 335 | ||
| 322 | int line_open(struct tty_struct *tty, struct file *filp) | 336 | int line_open(struct tty_struct *tty, struct file *filp) |
| @@ -340,18 +354,6 @@ int line_install(struct tty_driver *driver, struct tty_struct *tty, | |||
| 340 | return 0; | 354 | return 0; |
| 341 | } | 355 | } |
| 342 | 356 | ||
| 343 | static void unregister_winch(struct tty_struct *tty); | ||
| 344 | |||
| 345 | void line_cleanup(struct tty_struct *tty) | ||
| 346 | { | ||
| 347 | struct line *line = tty->driver_data; | ||
| 348 | |||
| 349 | if (line->sigio) { | ||
| 350 | unregister_winch(tty); | ||
| 351 | line->sigio = 0; | ||
| 352 | } | ||
| 353 | } | ||
| 354 | |||
| 355 | void line_close(struct tty_struct *tty, struct file * filp) | 357 | void line_close(struct tty_struct *tty, struct file * filp) |
| 356 | { | 358 | { |
| 357 | struct line *line = tty->driver_data; | 359 | struct line *line = tty->driver_data; |
| @@ -601,7 +603,7 @@ struct winch { | |||
| 601 | int fd; | 603 | int fd; |
| 602 | int tty_fd; | 604 | int tty_fd; |
| 603 | int pid; | 605 | int pid; |
| 604 | struct tty_struct *tty; | 606 | struct tty_port *port; |
| 605 | unsigned long stack; | 607 | unsigned long stack; |
| 606 | struct work_struct work; | 608 | struct work_struct work; |
| 607 | }; | 609 | }; |
| @@ -655,7 +657,7 @@ static irqreturn_t winch_interrupt(int irq, void *data) | |||
| 655 | goto out; | 657 | goto out; |
| 656 | } | 658 | } |
| 657 | } | 659 | } |
| 658 | tty = winch->tty; | 660 | tty = tty_port_tty_get(winch->port); |
| 659 | if (tty != NULL) { | 661 | if (tty != NULL) { |
| 660 | line = tty->driver_data; | 662 | line = tty->driver_data; |
| 661 | if (line != NULL) { | 663 | if (line != NULL) { |
| @@ -663,6 +665,7 @@ static irqreturn_t winch_interrupt(int irq, void *data) | |||
| 663 | &tty->winsize.ws_col); | 665 | &tty->winsize.ws_col); |
| 664 | kill_pgrp(tty->pgrp, SIGWINCH, 1); | 666 | kill_pgrp(tty->pgrp, SIGWINCH, 1); |
| 665 | } | 667 | } |
| 668 | tty_kref_put(tty); | ||
| 666 | } | 669 | } |
| 667 | out: | 670 | out: |
| 668 | if (winch->fd != -1) | 671 | if (winch->fd != -1) |
| @@ -670,7 +673,7 @@ static irqreturn_t winch_interrupt(int irq, void *data) | |||
| 670 | return IRQ_HANDLED; | 673 | return IRQ_HANDLED; |
| 671 | } | 674 | } |
| 672 | 675 | ||
| 673 | void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty, | 676 | void register_winch_irq(int fd, int tty_fd, int pid, struct tty_port *port, |
| 674 | unsigned long stack) | 677 | unsigned long stack) |
| 675 | { | 678 | { |
| 676 | struct winch *winch; | 679 | struct winch *winch; |
| @@ -685,7 +688,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty, | |||
| 685 | .fd = fd, | 688 | .fd = fd, |
| 686 | .tty_fd = tty_fd, | 689 | .tty_fd = tty_fd, |
| 687 | .pid = pid, | 690 | .pid = pid, |
| 688 | .tty = tty, | 691 | .port = port, |
| 689 | .stack = stack }); | 692 | .stack = stack }); |
| 690 | 693 | ||
| 691 | if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt, | 694 | if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt, |
| @@ -714,15 +717,18 @@ static void unregister_winch(struct tty_struct *tty) | |||
| 714 | { | 717 | { |
| 715 | struct list_head *ele, *next; | 718 | struct list_head *ele, *next; |
| 716 | struct winch *winch; | 719 | struct winch *winch; |
| 720 | struct tty_struct *wtty; | ||
| 717 | 721 | ||
| 718 | spin_lock(&winch_handler_lock); | 722 | spin_lock(&winch_handler_lock); |
| 719 | 723 | ||
| 720 | list_for_each_safe(ele, next, &winch_handlers) { | 724 | list_for_each_safe(ele, next, &winch_handlers) { |
| 721 | winch = list_entry(ele, struct winch, list); | 725 | winch = list_entry(ele, struct winch, list); |
| 722 | if (winch->tty == tty) { | 726 | wtty = tty_port_tty_get(winch->port); |
| 727 | if (wtty == tty) { | ||
| 723 | free_winch(winch); | 728 | free_winch(winch); |
| 724 | break; | 729 | break; |
| 725 | } | 730 | } |
| 731 | tty_kref_put(wtty); | ||
| 726 | } | 732 | } |
| 727 | spin_unlock(&winch_handler_lock); | 733 | spin_unlock(&winch_handler_lock); |
| 728 | } | 734 | } |
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index d8926c303629..39f186252e02 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c | |||
| @@ -218,6 +218,7 @@ static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 218 | spin_lock_irqsave(&lp->lock, flags); | 218 | spin_lock_irqsave(&lp->lock, flags); |
| 219 | 219 | ||
| 220 | len = (*lp->write)(lp->fd, skb, lp); | 220 | len = (*lp->write)(lp->fd, skb, lp); |
| 221 | skb_tx_timestamp(skb); | ||
| 221 | 222 | ||
| 222 | if (len == skb->len) { | 223 | if (len == skb->len) { |
| 223 | dev->stats.tx_packets++; | 224 | dev->stats.tx_packets++; |
| @@ -281,6 +282,7 @@ static void uml_net_get_drvinfo(struct net_device *dev, | |||
| 281 | static const struct ethtool_ops uml_net_ethtool_ops = { | 282 | static const struct ethtool_ops uml_net_ethtool_ops = { |
| 282 | .get_drvinfo = uml_net_get_drvinfo, | 283 | .get_drvinfo = uml_net_get_drvinfo, |
| 283 | .get_link = ethtool_op_get_link, | 284 | .get_link = ethtool_op_get_link, |
| 285 | .get_ts_info = ethtool_op_get_ts_info, | ||
| 284 | }; | 286 | }; |
| 285 | 287 | ||
| 286 | static void uml_net_user_timer_expire(unsigned long _conn) | 288 | static void uml_net_user_timer_expire(unsigned long _conn) |
diff --git a/arch/um/drivers/ssl.c b/arch/um/drivers/ssl.c index 16fdd0a0f9d6..b8d14fa52059 100644 --- a/arch/um/drivers/ssl.c +++ b/arch/um/drivers/ssl.c | |||
| @@ -105,7 +105,6 @@ static const struct tty_operations ssl_ops = { | |||
| 105 | .throttle = line_throttle, | 105 | .throttle = line_throttle, |
| 106 | .unthrottle = line_unthrottle, | 106 | .unthrottle = line_unthrottle, |
| 107 | .install = ssl_install, | 107 | .install = ssl_install, |
| 108 | .cleanup = line_cleanup, | ||
| 109 | .hangup = line_hangup, | 108 | .hangup = line_hangup, |
| 110 | }; | 109 | }; |
| 111 | 110 | ||
diff --git a/arch/um/drivers/stdio_console.c b/arch/um/drivers/stdio_console.c index 827777af3f6d..7b361f36ca96 100644 --- a/arch/um/drivers/stdio_console.c +++ b/arch/um/drivers/stdio_console.c | |||
| @@ -110,7 +110,6 @@ static const struct tty_operations console_ops = { | |||
| 110 | .set_termios = line_set_termios, | 110 | .set_termios = line_set_termios, |
| 111 | .throttle = line_throttle, | 111 | .throttle = line_throttle, |
| 112 | .unthrottle = line_unthrottle, | 112 | .unthrottle = line_unthrottle, |
| 113 | .cleanup = line_cleanup, | ||
| 114 | .hangup = line_hangup, | 113 | .hangup = line_hangup, |
| 115 | }; | 114 | }; |
| 116 | 115 | ||
diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index b1469fe93295..9d9f1b4bf826 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | #include <sysdep/mcontext.h> | 15 | #include <sysdep/mcontext.h> |
| 16 | #include "internal.h" | 16 | #include "internal.h" |
| 17 | 17 | ||
| 18 | void (*sig_info[NSIG])(int, siginfo_t *, struct uml_pt_regs *) = { | 18 | void (*sig_info[NSIG])(int, struct siginfo *, struct uml_pt_regs *) = { |
| 19 | [SIGTRAP] = relay_signal, | 19 | [SIGTRAP] = relay_signal, |
| 20 | [SIGFPE] = relay_signal, | 20 | [SIGFPE] = relay_signal, |
| 21 | [SIGILL] = relay_signal, | 21 | [SIGILL] = relay_signal, |
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c index da4b9e9999fd..337518c5042a 100644 --- a/arch/um/os-Linux/start_up.c +++ b/arch/um/os-Linux/start_up.c | |||
| @@ -15,6 +15,8 @@ | |||
| 15 | #include <sys/mman.h> | 15 | #include <sys/mman.h> |
| 16 | #include <sys/stat.h> | 16 | #include <sys/stat.h> |
| 17 | #include <sys/wait.h> | 17 | #include <sys/wait.h> |
| 18 | #include <sys/time.h> | ||
| 19 | #include <sys/resource.h> | ||
| 18 | #include <asm/unistd.h> | 20 | #include <asm/unistd.h> |
| 19 | #include <init.h> | 21 | #include <init.h> |
| 20 | #include <os.h> | 22 | #include <os.h> |
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index dc50b157fc83..2943e3acdf0c 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig | |||
| @@ -9,7 +9,7 @@ config UNICORE32 | |||
| 9 | select GENERIC_ATOMIC64 | 9 | select GENERIC_ATOMIC64 |
| 10 | select HAVE_KERNEL_LZO | 10 | select HAVE_KERNEL_LZO |
| 11 | select HAVE_KERNEL_LZMA | 11 | select HAVE_KERNEL_LZMA |
| 12 | select HAVE_VIRT_TO_BUS | 12 | select VIRT_TO_BUS |
| 13 | select ARCH_HAVE_CUSTOM_GPIO_H | 13 | select ARCH_HAVE_CUSTOM_GPIO_H |
| 14 | select GENERIC_FIND_FIRST_BIT | 14 | select GENERIC_FIND_FIRST_BIT |
| 15 | select GENERIC_IRQ_PROBE | 15 | select GENERIC_IRQ_PROBE |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a4f24f5b1218..70c0f3da0476 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -112,7 +112,7 @@ config X86 | |||
| 112 | select GENERIC_STRNLEN_USER | 112 | select GENERIC_STRNLEN_USER |
| 113 | select HAVE_CONTEXT_TRACKING if X86_64 | 113 | select HAVE_CONTEXT_TRACKING if X86_64 |
| 114 | select HAVE_IRQ_TIME_ACCOUNTING | 114 | select HAVE_IRQ_TIME_ACCOUNTING |
| 115 | select HAVE_VIRT_TO_BUS | 115 | select VIRT_TO_BUS |
| 116 | select MODULES_USE_ELF_REL if X86_32 | 116 | select MODULES_USE_ELF_REL if X86_32 |
| 117 | select MODULES_USE_ELF_RELA if X86_64 | 117 | select MODULES_USE_ELF_RELA if X86_64 |
| 118 | select CLONE_BACKWARDS if X86_32 | 118 | select CLONE_BACKWARDS if X86_32 |
diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c index 826054a4f2ee..0e9bdd3cb01e 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_ds.c +++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c | |||
| @@ -729,3 +729,11 @@ void intel_ds_init(void) | |||
| 729 | } | 729 | } |
| 730 | } | 730 | } |
| 731 | } | 731 | } |
| 732 | |||
| 733 | void perf_restore_debug_store(void) | ||
| 734 | { | ||
| 735 | if (!x86_pmu.bts && !x86_pmu.pebs) | ||
| 736 | return; | ||
| 737 | |||
| 738 | init_debug_store_on_cpu(smp_processor_id()); | ||
| 739 | } | ||
diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c index 120cee1c3f8d..3c68768d7a75 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include <linux/suspend.h> | 11 | #include <linux/suspend.h> |
| 12 | #include <linux/export.h> | 12 | #include <linux/export.h> |
| 13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
| 14 | #include <linux/perf_event.h> | ||
| 14 | 15 | ||
| 15 | #include <asm/pgtable.h> | 16 | #include <asm/pgtable.h> |
| 16 | #include <asm/proto.h> | 17 | #include <asm/proto.h> |
| @@ -228,6 +229,7 @@ static void __restore_processor_state(struct saved_context *ctxt) | |||
| 228 | do_fpu_end(); | 229 | do_fpu_end(); |
| 229 | x86_platform.restore_sched_clock_state(); | 230 | x86_platform.restore_sched_clock_state(); |
| 230 | mtrr_bp_restore(); | 231 | mtrr_bp_restore(); |
| 232 | perf_restore_debug_store(); | ||
| 231 | } | 233 | } |
| 232 | 234 | ||
| 233 | /* Needed by apm.c */ | 235 | /* Needed by apm.c */ |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 35876ffac11d..b09de49dbec5 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
| @@ -9,7 +9,7 @@ config XTENSA | |||
| 9 | select HAVE_IDE | 9 | select HAVE_IDE |
| 10 | select GENERIC_ATOMIC64 | 10 | select GENERIC_ATOMIC64 |
| 11 | select HAVE_GENERIC_HARDIRQS | 11 | select HAVE_GENERIC_HARDIRQS |
| 12 | select HAVE_VIRT_TO_BUS | 12 | select VIRT_TO_BUS |
| 13 | select GENERIC_IRQ_SHOW | 13 | select GENERIC_IRQ_SHOW |
| 14 | select GENERIC_CPU_DEVICES | 14 | select GENERIC_CPU_DEVICES |
| 15 | select MODULES_USE_ELF_RELA | 15 | select MODULES_USE_ELF_RELA |
