diff options
32 files changed, 133 insertions, 75 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index c1ce813fcc4a..f37cf9fa5fa0 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
| @@ -25,6 +25,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | |||
| 25 | exynos4210-trats.dtb \ | 25 | exynos4210-trats.dtb \ |
| 26 | exynos5250-smdk5250.dtb | 26 | exynos5250-smdk5250.dtb |
| 27 | dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb | 27 | dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb |
| 28 | dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ | ||
| 29 | integratorcp.dtb | ||
| 28 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb | 30 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb |
| 29 | dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ | 31 | dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ |
| 30 | kirkwood-dns325.dtb \ | 32 | kirkwood-dns325.dtb \ |
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi index 96fb824b5e6e..5a00022383e7 100644 --- a/arch/arm/boot/dts/dove.dtsi +++ b/arch/arm/boot/dts/dove.dtsi | |||
| @@ -4,21 +4,32 @@ | |||
| 4 | compatible = "marvell,dove"; | 4 | compatible = "marvell,dove"; |
| 5 | model = "Marvell Armada 88AP510 SoC"; | 5 | model = "Marvell Armada 88AP510 SoC"; |
| 6 | 6 | ||
| 7 | interrupt-parent = <&intc>; | 7 | soc@f1000000 { |
| 8 | |||
| 9 | intc: interrupt-controller { | ||
| 10 | compatible = "marvell,orion-intc"; | ||
| 11 | interrupt-controller; | ||
| 12 | #interrupt-cells = <1>; | ||
| 13 | reg = <0xf1020204 0x04>, | ||
| 14 | <0xf1020214 0x04>; | ||
| 15 | }; | ||
| 16 | |||
| 17 | mbus@f1000000 { | ||
| 18 | compatible = "simple-bus"; | 8 | compatible = "simple-bus"; |
| 19 | ranges = <0 0xf1000000 0x4000000>; | ||
| 20 | #address-cells = <1>; | 9 | #address-cells = <1>; |
| 21 | #size-cells = <1>; | 10 | #size-cells = <1>; |
| 11 | interrupt-parent = <&intc>; | ||
| 12 | |||
| 13 | ranges = <0xc8000000 0xc8000000 0x0100000 /* CESA SRAM 1M */ | ||
| 14 | 0xe0000000 0xe0000000 0x8000000 /* PCIe0 Mem 128M */ | ||
| 15 | 0xe8000000 0xe8000000 0x8000000 /* PCIe1 Mem 128M */ | ||
| 16 | 0xf0000000 0xf0000000 0x0100000 /* ScratchPad 1M */ | ||
| 17 | 0x00000000 0xf1000000 0x1000000 /* SB/NB regs 16M */ | ||
| 18 | 0xf2000000 0xf2000000 0x0100000 /* PCIe0 I/O 1M */ | ||
| 19 | 0xf2100000 0xf2100000 0x0100000 /* PCIe0 I/O 1M */ | ||
| 20 | 0xf8000000 0xf8000000 0x8000000>; /* BootROM 128M */ | ||
| 21 | |||
| 22 | l2: l2-cache { | ||
| 23 | compatible = "marvell,tauros2-cache"; | ||
| 24 | marvell,tauros2-cache-features = <0>; | ||
| 25 | }; | ||
| 26 | |||
| 27 | intc: interrupt-controller { | ||
| 28 | compatible = "marvell,orion-intc"; | ||
| 29 | interrupt-controller; | ||
| 30 | #interrupt-cells = <1>; | ||
| 31 | reg = <0x20204 0x04>, <0x20214 0x04>; | ||
| 32 | }; | ||
| 22 | 33 | ||
| 23 | uart0: serial@12000 { | 34 | uart0: serial@12000 { |
| 24 | compatible = "ns16550a"; | 35 | compatible = "ns16550a"; |
| @@ -56,11 +67,6 @@ | |||
| 56 | status = "disabled"; | 67 | status = "disabled"; |
| 57 | }; | 68 | }; |
| 58 | 69 | ||
| 59 | wdt: wdt@20300 { | ||
| 60 | compatible = "marvell,orion-wdt"; | ||
| 61 | reg = <0x20300 0x28>; | ||
| 62 | }; | ||
| 63 | |||
| 64 | gpio0: gpio@d0400 { | 70 | gpio0: gpio@d0400 { |
| 65 | compatible = "marvell,orion-gpio"; | 71 | compatible = "marvell,orion-gpio"; |
| 66 | #gpio-cells = <2>; | 72 | #gpio-cells = <2>; |
| @@ -139,5 +145,14 @@ | |||
| 139 | nr-ports = <1>; | 145 | nr-ports = <1>; |
| 140 | status = "disabled"; | 146 | status = "disabled"; |
| 141 | }; | 147 | }; |
| 148 | |||
| 149 | crypto: crypto@30000 { | ||
| 150 | compatible = "marvell,orion-crypto"; | ||
| 151 | reg = <0x30000 0x10000>, | ||
| 152 | <0xc8000000 0x800>; | ||
| 153 | reg-names = "regs", "sram"; | ||
| 154 | interrupts = <31>; | ||
| 155 | status = "okay"; | ||
| 156 | }; | ||
| 142 | }; | 157 | }; |
| 143 | }; | 158 | }; |
diff --git a/arch/arm/boot/dts/imx6q-arm2.dts b/arch/arm/boot/dts/imx6q-arm2.dts index 15df4c105e89..5bfa02a3f85c 100644 --- a/arch/arm/boot/dts/imx6q-arm2.dts +++ b/arch/arm/boot/dts/imx6q-arm2.dts | |||
| @@ -37,6 +37,13 @@ | |||
| 37 | pinctrl_hog: hoggrp { | 37 | pinctrl_hog: hoggrp { |
| 38 | fsl,pins = < | 38 | fsl,pins = < |
| 39 | 176 0x80000000 /* MX6Q_PAD_EIM_D25__GPIO_3_25 */ | 39 | 176 0x80000000 /* MX6Q_PAD_EIM_D25__GPIO_3_25 */ |
| 40 | >; | ||
| 41 | }; | ||
| 42 | }; | ||
| 43 | |||
| 44 | arm2 { | ||
| 45 | pinctrl_usdhc3_arm2: usdhc3grp-arm2 { | ||
| 46 | fsl,pins = < | ||
| 40 | 1363 0x80000000 /* MX6Q_PAD_NANDF_CS0__GPIO_6_11 */ | 47 | 1363 0x80000000 /* MX6Q_PAD_NANDF_CS0__GPIO_6_11 */ |
| 41 | 1369 0x80000000 /* MX6Q_PAD_NANDF_CS1__GPIO_6_14 */ | 48 | 1369 0x80000000 /* MX6Q_PAD_NANDF_CS1__GPIO_6_14 */ |
| 42 | >; | 49 | >; |
| @@ -58,7 +65,8 @@ | |||
| 58 | wp-gpios = <&gpio6 14 0>; | 65 | wp-gpios = <&gpio6 14 0>; |
| 59 | vmmc-supply = <®_3p3v>; | 66 | vmmc-supply = <®_3p3v>; |
| 60 | pinctrl-names = "default"; | 67 | pinctrl-names = "default"; |
| 61 | pinctrl-0 = <&pinctrl_usdhc3_1>; | 68 | pinctrl-0 = <&pinctrl_usdhc3_1 |
| 69 | &pinctrl_usdhc3_arm2>; | ||
| 62 | status = "okay"; | 70 | status = "okay"; |
| 63 | }; | 71 | }; |
| 64 | 72 | ||
diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 8ac51c08269d..8fea375c734d 100644 --- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi | |||
| @@ -48,17 +48,19 @@ | |||
| 48 | #size-cells = <0>; | 48 | #size-cells = <0>; |
| 49 | button@1 { | 49 | button@1 { |
| 50 | label = "Function Button"; | 50 | label = "Function Button"; |
| 51 | linux,code = <132>; | 51 | linux,code = <357>; |
| 52 | gpios = <&gpio1 9 1>; | 52 | gpios = <&gpio1 9 1>; |
| 53 | }; | 53 | }; |
| 54 | button@2 { | 54 | button@2 { |
| 55 | label = "Power-on Switch"; | 55 | label = "Power-on Switch"; |
| 56 | linux,code = <116>; | 56 | linux,code = <0>; |
| 57 | linux,input-type = <5>; | ||
| 57 | gpios = <&gpio1 10 1>; | 58 | gpios = <&gpio1 10 1>; |
| 58 | }; | 59 | }; |
| 59 | button@3 { | 60 | button@3 { |
| 60 | label = "Power-auto Switch"; | 61 | label = "Power-auto Switch"; |
| 61 | linux,code = <142>; | 62 | linux,code = <1>; |
| 63 | linux,input-type = <5>; | ||
| 62 | gpios = <&gpio1 11 1>; | 64 | gpios = <&gpio1 11 1>; |
| 63 | }; | 65 | }; |
| 64 | }; | 66 | }; |
| @@ -67,28 +69,28 @@ | |||
| 67 | compatible = "gpio-leds"; | 69 | compatible = "gpio-leds"; |
| 68 | 70 | ||
| 69 | led@1 { | 71 | led@1 { |
| 70 | label = "lschlv2:blue:func"; | 72 | label = "lsxl:blue:func"; |
| 71 | gpios = <&gpio1 4 1>; | 73 | gpios = <&gpio1 4 1>; |
| 72 | }; | 74 | }; |
| 73 | 75 | ||
| 74 | led@2 { | 76 | led@2 { |
| 75 | label = "lschlv2:red:alarm"; | 77 | label = "lsxl:red:alarm"; |
| 76 | gpios = <&gpio1 5 1>; | 78 | gpios = <&gpio1 5 1>; |
| 77 | }; | 79 | }; |
| 78 | 80 | ||
| 79 | led@3 { | 81 | led@3 { |
| 80 | label = "lschlv2:amber:info"; | 82 | label = "lsxl:amber:info"; |
| 81 | gpios = <&gpio1 6 1>; | 83 | gpios = <&gpio1 6 1>; |
| 82 | }; | 84 | }; |
| 83 | 85 | ||
| 84 | led@4 { | 86 | led@4 { |
| 85 | label = "lschlv2:blue:power"; | 87 | label = "lsxl:blue:power"; |
| 86 | gpios = <&gpio1 7 1>; | 88 | gpios = <&gpio1 7 1>; |
| 87 | linux,default-trigger = "default-on"; | 89 | linux,default-trigger = "default-on"; |
| 88 | }; | 90 | }; |
| 89 | 91 | ||
| 90 | led@5 { | 92 | led@5 { |
| 91 | label = "lschlv2:red:func"; | 93 | label = "lsxl:red:func"; |
| 92 | gpios = <&gpio1 16 1>; | 94 | gpios = <&gpio1 16 1>; |
| 93 | }; | 95 | }; |
| 94 | }; | 96 | }; |
diff --git a/arch/arm/boot/dts/wm8505.dtsi b/arch/arm/boot/dts/wm8505.dtsi index b459691655ab..330f833ac3b0 100644 --- a/arch/arm/boot/dts/wm8505.dtsi +++ b/arch/arm/boot/dts/wm8505.dtsi | |||
| @@ -71,13 +71,13 @@ | |||
| 71 | ehci@d8007100 { | 71 | ehci@d8007100 { |
| 72 | compatible = "via,vt8500-ehci"; | 72 | compatible = "via,vt8500-ehci"; |
| 73 | reg = <0xd8007100 0x200>; | 73 | reg = <0xd8007100 0x200>; |
| 74 | interrupts = <43>; | 74 | interrupts = <1>; |
| 75 | }; | 75 | }; |
| 76 | 76 | ||
| 77 | uhci@d8007300 { | 77 | uhci@d8007300 { |
| 78 | compatible = "platform-uhci"; | 78 | compatible = "platform-uhci"; |
| 79 | reg = <0xd8007300 0x200>; | 79 | reg = <0xd8007300 0x200>; |
| 80 | interrupts = <43>; | 80 | interrupts = <0>; |
| 81 | }; | 81 | }; |
| 82 | 82 | ||
| 83 | fb@d8050800 { | 83 | fb@d8050800 { |
diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c index b37bef1d5ffa..f723fe13d0f0 100644 --- a/arch/arm/mach-dove/common.c +++ b/arch/arm/mach-dove/common.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <linux/irq.h> | 32 | #include <linux/irq.h> |
| 33 | #include <plat/time.h> | 33 | #include <plat/time.h> |
| 34 | #include <linux/platform_data/usb-ehci-orion.h> | 34 | #include <linux/platform_data/usb-ehci-orion.h> |
| 35 | #include <plat/irq.h> | ||
| 35 | #include <plat/common.h> | 36 | #include <plat/common.h> |
| 36 | #include <plat/addr-map.h> | 37 | #include <plat/addr-map.h> |
| 37 | #include "common.h" | 38 | #include "common.h" |
| @@ -109,8 +110,8 @@ static void __init dove_clk_init(void) | |||
| 109 | 110 | ||
| 110 | orion_clkdev_add(NULL, "orion-ehci.0", usb0); | 111 | orion_clkdev_add(NULL, "orion-ehci.0", usb0); |
| 111 | orion_clkdev_add(NULL, "orion-ehci.1", usb1); | 112 | orion_clkdev_add(NULL, "orion-ehci.1", usb1); |
| 112 | orion_clkdev_add(NULL, "mv643xx_eth.0", ge); | 113 | orion_clkdev_add(NULL, "mv643xx_eth_port.0", ge); |
| 113 | orion_clkdev_add("0", "sata_mv.0", sata); | 114 | orion_clkdev_add(NULL, "sata_mv.0", sata); |
| 114 | orion_clkdev_add("0", "pcie", pex0); | 115 | orion_clkdev_add("0", "pcie", pex0); |
| 115 | orion_clkdev_add("1", "pcie", pex1); | 116 | orion_clkdev_add("1", "pcie", pex1); |
| 116 | orion_clkdev_add(NULL, "sdhci-dove.0", sdio0); | 117 | orion_clkdev_add(NULL, "sdhci-dove.0", sdio0); |
| @@ -399,7 +400,7 @@ static void __init dove_dt_init(void) | |||
| 399 | (dove_tclk + 499999) / 1000000); | 400 | (dove_tclk + 499999) / 1000000); |
| 400 | 401 | ||
| 401 | #ifdef CONFIG_CACHE_TAUROS2 | 402 | #ifdef CONFIG_CACHE_TAUROS2 |
| 402 | tauros2_init(); | 403 | tauros2_init(0); |
| 403 | #endif | 404 | #endif |
| 404 | dove_setup_cpu_mbus(); | 405 | dove_setup_cpu_mbus(); |
| 405 | 406 | ||
| @@ -415,7 +416,6 @@ static void __init dove_dt_init(void) | |||
| 415 | dove_ehci0_init(); | 416 | dove_ehci0_init(); |
| 416 | dove_ehci1_init(); | 417 | dove_ehci1_init(); |
| 417 | dove_pcie_init(1, 1); | 418 | dove_pcie_init(1, 1); |
| 418 | dove_crypto_init(); | ||
| 419 | 419 | ||
| 420 | of_platform_populate(NULL, of_default_bus_match_table, | 420 | of_platform_populate(NULL, of_default_bus_match_table, |
| 421 | dove_auxdata_lookup, NULL); | 421 | dove_auxdata_lookup, NULL); |
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c index bb15b26041cb..0ef4435b1657 100644 --- a/arch/arm/mach-dove/pcie.c +++ b/arch/arm/mach-dove/pcie.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
| 12 | #include <linux/pci.h> | 12 | #include <linux/pci.h> |
| 13 | #include <linux/clk.h> | ||
| 13 | #include <video/vga.h> | 14 | #include <video/vga.h> |
| 14 | #include <asm/mach/pci.h> | 15 | #include <asm/mach/pci.h> |
| 15 | #include <asm/mach/arch.h> | 16 | #include <asm/mach/arch.h> |
| @@ -188,6 +189,10 @@ static void __init add_pcie_port(int index, void __iomem *base) | |||
| 188 | 189 | ||
| 189 | if (orion_pcie_link_up(base)) { | 190 | if (orion_pcie_link_up(base)) { |
| 190 | struct pcie_port *pp = &pcie_port[num_pcie_ports++]; | 191 | struct pcie_port *pp = &pcie_port[num_pcie_ports++]; |
| 192 | struct clk *clk = clk_get_sys("pcie", (index ? "1" : "0")); | ||
| 193 | |||
| 194 | if (!IS_ERR(clk)) | ||
| 195 | clk_prepare_enable(clk); | ||
| 191 | 196 | ||
| 192 | printk(KERN_INFO "link up\n"); | 197 | printk(KERN_INFO "link up\n"); |
| 193 | 198 | ||
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index 70c5a2882409..d94872fed8c0 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c | |||
| @@ -51,9 +51,7 @@ static void __init kirkwood_dt_init(void) | |||
| 51 | 51 | ||
| 52 | kirkwood_setup_cpu_mbus(); | 52 | kirkwood_setup_cpu_mbus(); |
| 53 | 53 | ||
| 54 | #ifdef CONFIG_CACHE_FEROCEON_L2 | ||
| 55 | kirkwood_l2_init(); | 54 | kirkwood_l2_init(); |
| 56 | #endif | ||
| 57 | 55 | ||
| 58 | /* Setup root of clk tree */ | 56 | /* Setup root of clk tree */ |
| 59 | kirkwood_clk_init(); | 57 | kirkwood_clk_init(); |
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 3991077f58a2..2c6c218fb79e 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
| @@ -633,6 +633,7 @@ char * __init kirkwood_id(void) | |||
| 633 | 633 | ||
| 634 | void __init kirkwood_l2_init(void) | 634 | void __init kirkwood_l2_init(void) |
| 635 | { | 635 | { |
| 636 | #ifdef CONFIG_CACHE_FEROCEON_L2 | ||
| 636 | #ifdef CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH | 637 | #ifdef CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH |
| 637 | writel(readl(L2_CONFIG_REG) | L2_WRITETHROUGH, L2_CONFIG_REG); | 638 | writel(readl(L2_CONFIG_REG) | L2_WRITETHROUGH, L2_CONFIG_REG); |
| 638 | feroceon_l2_init(1); | 639 | feroceon_l2_init(1); |
| @@ -640,6 +641,7 @@ void __init kirkwood_l2_init(void) | |||
| 640 | writel(readl(L2_CONFIG_REG) & ~L2_WRITETHROUGH, L2_CONFIG_REG); | 641 | writel(readl(L2_CONFIG_REG) & ~L2_WRITETHROUGH, L2_CONFIG_REG); |
| 641 | feroceon_l2_init(0); | 642 | feroceon_l2_init(0); |
| 642 | #endif | 643 | #endif |
| 644 | #endif | ||
| 643 | } | 645 | } |
| 644 | 646 | ||
| 645 | void __init kirkwood_init(void) | 647 | void __init kirkwood_init(void) |
| @@ -657,9 +659,7 @@ void __init kirkwood_init(void) | |||
| 657 | 659 | ||
| 658 | kirkwood_setup_cpu_mbus(); | 660 | kirkwood_setup_cpu_mbus(); |
| 659 | 661 | ||
| 660 | #ifdef CONFIG_CACHE_FEROCEON_L2 | ||
| 661 | kirkwood_l2_init(); | 662 | kirkwood_l2_init(); |
| 662 | #endif | ||
| 663 | 663 | ||
| 664 | /* Setup root of clk tree */ | 664 | /* Setup root of clk tree */ |
| 665 | kirkwood_clk_init(); | 665 | kirkwood_clk_init(); |
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index d661d138f270..6efc30c961a5 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c | |||
| @@ -3294,7 +3294,7 @@ static struct omap_clk omap44xx_clks[] = { | |||
| 3294 | CLK(NULL, "auxclk5_src_ck", &auxclk5_src_ck, CK_443X), | 3294 | CLK(NULL, "auxclk5_src_ck", &auxclk5_src_ck, CK_443X), |
| 3295 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), | 3295 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), |
| 3296 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), | 3296 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), |
| 3297 | CLK(NULL, "gpmc_ck", &dummy_ck, CK_443X), | 3297 | CLK("omap-gpmc", "fck", &dummy_ck, CK_443X), |
| 3298 | CLK("omap_i2c.1", "ick", &dummy_ck, CK_443X), | 3298 | CLK("omap_i2c.1", "ick", &dummy_ck, CK_443X), |
| 3299 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), | 3299 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), |
| 3300 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), | 3300 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), |
diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c index cbb879139c51..512e79a842cb 100644 --- a/arch/arm/mach-omap2/clockdomain.c +++ b/arch/arm/mach-omap2/clockdomain.c | |||
| @@ -925,15 +925,18 @@ static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm) | |||
| 925 | if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_enable) | 925 | if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_enable) |
| 926 | return -EINVAL; | 926 | return -EINVAL; |
| 927 | 927 | ||
| 928 | spin_lock_irqsave(&clkdm->lock, flags); | ||
| 929 | |||
| 928 | /* | 930 | /* |
| 929 | * For arch's with no autodeps, clkcm_clk_enable | 931 | * For arch's with no autodeps, clkcm_clk_enable |
| 930 | * should be called for every clock instance or hwmod that is | 932 | * should be called for every clock instance or hwmod that is |
| 931 | * enabled, so the clkdm can be force woken up. | 933 | * enabled, so the clkdm can be force woken up. |
| 932 | */ | 934 | */ |
| 933 | if ((atomic_inc_return(&clkdm->usecount) > 1) && autodeps) | 935 | if ((atomic_inc_return(&clkdm->usecount) > 1) && autodeps) { |
| 936 | spin_unlock_irqrestore(&clkdm->lock, flags); | ||
| 934 | return 0; | 937 | return 0; |
| 938 | } | ||
| 935 | 939 | ||
| 936 | spin_lock_irqsave(&clkdm->lock, flags); | ||
| 937 | arch_clkdm->clkdm_clk_enable(clkdm); | 940 | arch_clkdm->clkdm_clk_enable(clkdm); |
| 938 | pwrdm_state_switch(clkdm->pwrdm.ptr); | 941 | pwrdm_state_switch(clkdm->pwrdm.ptr); |
| 939 | spin_unlock_irqrestore(&clkdm->lock, flags); | 942 | spin_unlock_irqrestore(&clkdm->lock, flags); |
| @@ -950,15 +953,19 @@ static int _clkdm_clk_hwmod_disable(struct clockdomain *clkdm) | |||
| 950 | if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_disable) | 953 | if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_disable) |
| 951 | return -EINVAL; | 954 | return -EINVAL; |
| 952 | 955 | ||
| 956 | spin_lock_irqsave(&clkdm->lock, flags); | ||
| 957 | |||
| 953 | if (atomic_read(&clkdm->usecount) == 0) { | 958 | if (atomic_read(&clkdm->usecount) == 0) { |
| 959 | spin_unlock_irqrestore(&clkdm->lock, flags); | ||
| 954 | WARN_ON(1); /* underflow */ | 960 | WARN_ON(1); /* underflow */ |
| 955 | return -ERANGE; | 961 | return -ERANGE; |
| 956 | } | 962 | } |
| 957 | 963 | ||
| 958 | if (atomic_dec_return(&clkdm->usecount) > 0) | 964 | if (atomic_dec_return(&clkdm->usecount) > 0) { |
| 965 | spin_unlock_irqrestore(&clkdm->lock, flags); | ||
| 959 | return 0; | 966 | return 0; |
| 967 | } | ||
| 960 | 968 | ||
| 961 | spin_lock_irqsave(&clkdm->lock, flags); | ||
| 962 | arch_clkdm->clkdm_clk_disable(clkdm); | 969 | arch_clkdm->clkdm_clk_disable(clkdm); |
| 963 | pwrdm_state_switch(clkdm->pwrdm.ptr); | 970 | pwrdm_state_switch(clkdm->pwrdm.ptr); |
| 964 | spin_unlock_irqrestore(&clkdm->lock, flags); | 971 | spin_unlock_irqrestore(&clkdm->lock, flags); |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index c8c211731d26..cba60e05e32e 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
| @@ -341,7 +341,7 @@ static void __init omap_init_dmic(void) | |||
| 341 | 341 | ||
| 342 | oh = omap_hwmod_lookup("dmic"); | 342 | oh = omap_hwmod_lookup("dmic"); |
| 343 | if (!oh) { | 343 | if (!oh) { |
| 344 | printk(KERN_ERR "Could not look up mcpdm hw_mod\n"); | 344 | pr_err("Could not look up dmic hw_mod\n"); |
| 345 | return; | 345 | return; |
| 346 | } | 346 | } |
| 347 | 347 | ||
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 5ac5cf30406a..92b5718fa722 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
| @@ -868,9 +868,9 @@ static void __devexit gpmc_mem_exit(void) | |||
| 868 | 868 | ||
| 869 | } | 869 | } |
| 870 | 870 | ||
| 871 | static void __devinit gpmc_mem_init(void) | 871 | static int __devinit gpmc_mem_init(void) |
| 872 | { | 872 | { |
| 873 | int cs; | 873 | int cs, rc; |
| 874 | unsigned long boot_rom_space = 0; | 874 | unsigned long boot_rom_space = 0; |
| 875 | 875 | ||
| 876 | /* never allocate the first page, to facilitate bug detection; | 876 | /* never allocate the first page, to facilitate bug detection; |
| @@ -890,13 +890,21 @@ static void __devinit gpmc_mem_init(void) | |||
| 890 | if (!gpmc_cs_mem_enabled(cs)) | 890 | if (!gpmc_cs_mem_enabled(cs)) |
| 891 | continue; | 891 | continue; |
| 892 | gpmc_cs_get_memconf(cs, &base, &size); | 892 | gpmc_cs_get_memconf(cs, &base, &size); |
| 893 | if (gpmc_cs_insert_mem(cs, base, size) < 0) | 893 | rc = gpmc_cs_insert_mem(cs, base, size); |
| 894 | BUG(); | 894 | if (IS_ERR_VALUE(rc)) { |
| 895 | while (--cs >= 0) | ||
| 896 | if (gpmc_cs_mem_enabled(cs)) | ||
| 897 | gpmc_cs_delete_mem(cs); | ||
| 898 | return rc; | ||
| 899 | } | ||
| 895 | } | 900 | } |
| 901 | |||
| 902 | return 0; | ||
| 896 | } | 903 | } |
| 897 | 904 | ||
| 898 | static __devinit int gpmc_probe(struct platform_device *pdev) | 905 | static __devinit int gpmc_probe(struct platform_device *pdev) |
| 899 | { | 906 | { |
| 907 | int rc; | ||
| 900 | u32 l; | 908 | u32 l; |
| 901 | struct resource *res; | 909 | struct resource *res; |
| 902 | 910 | ||
| @@ -936,7 +944,13 @@ static __devinit int gpmc_probe(struct platform_device *pdev) | |||
| 936 | dev_info(gpmc_dev, "GPMC revision %d.%d\n", GPMC_REVISION_MAJOR(l), | 944 | dev_info(gpmc_dev, "GPMC revision %d.%d\n", GPMC_REVISION_MAJOR(l), |
| 937 | GPMC_REVISION_MINOR(l)); | 945 | GPMC_REVISION_MINOR(l)); |
| 938 | 946 | ||
| 939 | gpmc_mem_init(); | 947 | rc = gpmc_mem_init(); |
| 948 | if (IS_ERR_VALUE(rc)) { | ||
| 949 | clk_disable_unprepare(gpmc_l3_clk); | ||
| 950 | clk_put(gpmc_l3_clk); | ||
| 951 | dev_err(gpmc_dev, "failed to reserve memory\n"); | ||
| 952 | return rc; | ||
| 953 | } | ||
| 940 | 954 | ||
| 941 | if (IS_ERR_VALUE(gpmc_setup_irq())) | 955 | if (IS_ERR_VALUE(gpmc_setup_irq())) |
| 942 | dev_warn(gpmc_dev, "gpmc_setup_irq failed\n"); | 956 | dev_warn(gpmc_dev, "gpmc_setup_irq failed\n"); |
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index 44f9aa7ec0c0..69e46631a7cd 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
| @@ -467,7 +467,7 @@ OMAP_SYS_TIMER(3_am33xx) | |||
| 467 | #ifdef CONFIG_ARCH_OMAP4 | 467 | #ifdef CONFIG_ARCH_OMAP4 |
| 468 | #ifdef CONFIG_LOCAL_TIMERS | 468 | #ifdef CONFIG_LOCAL_TIMERS |
| 469 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, | 469 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, |
| 470 | OMAP44XX_LOCAL_TWD_BASE, 29 + OMAP_INTC_START); | 470 | OMAP44XX_LOCAL_TWD_BASE, 29); |
| 471 | #endif | 471 | #endif |
| 472 | 472 | ||
| 473 | static void __init omap4_timer_init(void) | 473 | static void __init omap4_timer_init(void) |
diff --git a/arch/arm/mach-s3c24xx/clock-s3c2440.c b/arch/arm/mach-s3c24xx/clock-s3c2440.c index 749220f91a70..4407b1730539 100644 --- a/arch/arm/mach-s3c24xx/clock-s3c2440.c +++ b/arch/arm/mach-s3c24xx/clock-s3c2440.c | |||
| @@ -163,7 +163,7 @@ static struct clk_lookup s3c2440_clk_lookup[] = { | |||
| 163 | CLKDEV_INIT(NULL, "clk_uart_baud3", &s3c2440_clk_fclk_n), | 163 | CLKDEV_INIT(NULL, "clk_uart_baud3", &s3c2440_clk_fclk_n), |
| 164 | }; | 164 | }; |
| 165 | 165 | ||
| 166 | static int s3c2440_clk_add(struct device *dev, struct subsys_interface *sif) | 166 | static int __init_refok s3c2440_clk_add(struct device *dev, struct subsys_interface *sif) |
| 167 | { | 167 | { |
| 168 | struct clk *clock_upll; | 168 | struct clk *clock_upll; |
| 169 | struct clk *clock_h; | 169 | struct clk *clock_h; |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 2912eab3b967..3cc8b1c21da9 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
| @@ -1196,7 +1196,7 @@ static void __init eva_init(void) | |||
| 1196 | 1196 | ||
| 1197 | #ifdef CONFIG_CACHE_L2X0 | 1197 | #ifdef CONFIG_CACHE_L2X0 |
| 1198 | /* Early BRESP enable, Shared attribute override enable, 32K*8way */ | 1198 | /* Early BRESP enable, Shared attribute override enable, 32K*8way */ |
| 1199 | l2x0_init(__io(0xf0002000), 0x40440000, 0x82000fff); | 1199 | l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff); |
| 1200 | #endif | 1200 | #endif |
| 1201 | 1201 | ||
| 1202 | i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices)); | 1202 | i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices)); |
diff --git a/arch/arm/mach-shmobile/clock-r8a7779.c b/arch/arm/mach-shmobile/clock-r8a7779.c index 3cafb6ab5e9a..37b2a3133b3b 100644 --- a/arch/arm/mach-shmobile/clock-r8a7779.c +++ b/arch/arm/mach-shmobile/clock-r8a7779.c | |||
| @@ -24,17 +24,17 @@ | |||
| 24 | #include <linux/clkdev.h> | 24 | #include <linux/clkdev.h> |
| 25 | #include <mach/common.h> | 25 | #include <mach/common.h> |
| 26 | 26 | ||
| 27 | #define FRQMR 0xffc80014 | 27 | #define FRQMR IOMEM(0xffc80014) |
| 28 | #define MSTPCR0 0xffc80030 | 28 | #define MSTPCR0 IOMEM(0xffc80030) |
| 29 | #define MSTPCR1 0xffc80034 | 29 | #define MSTPCR1 IOMEM(0xffc80034) |
| 30 | #define MSTPCR3 0xffc8003c | 30 | #define MSTPCR3 IOMEM(0xffc8003c) |
| 31 | #define MSTPSR1 0xffc80044 | 31 | #define MSTPSR1 IOMEM(0xffc80044) |
| 32 | #define MSTPSR4 0xffc80048 | 32 | #define MSTPSR4 IOMEM(0xffc80048) |
| 33 | #define MSTPSR6 0xffc8004c | 33 | #define MSTPSR6 IOMEM(0xffc8004c) |
| 34 | #define MSTPCR4 0xffc80050 | 34 | #define MSTPCR4 IOMEM(0xffc80050) |
| 35 | #define MSTPCR5 0xffc80054 | 35 | #define MSTPCR5 IOMEM(0xffc80054) |
| 36 | #define MSTPCR6 0xffc80058 | 36 | #define MSTPCR6 IOMEM(0xffc80058) |
| 37 | #define MSTPCR7 0xffc80040 | 37 | #define MSTPCR7 IOMEM(0xffc80040) |
| 38 | 38 | ||
| 39 | /* ioremap() through clock mapping mandatory to avoid | 39 | /* ioremap() through clock mapping mandatory to avoid |
| 40 | * collision with ARM coherent DMA virtual memory range. | 40 | * collision with ARM coherent DMA virtual memory range. |
diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c index 57e235f4ac74..aa5325cd1c42 100644 --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c | |||
| @@ -182,7 +182,7 @@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)") | |||
| 182 | .init_early = tegra20_init_early, | 182 | .init_early = tegra20_init_early, |
| 183 | .init_irq = tegra_dt_init_irq, | 183 | .init_irq = tegra_dt_init_irq, |
| 184 | .handle_irq = gic_handle_irq, | 184 | .handle_irq = gic_handle_irq, |
| 185 | .timer = &tegra_timer, | 185 | .timer = &tegra_sys_timer, |
| 186 | .init_machine = tegra_dt_init, | 186 | .init_machine = tegra_dt_init, |
| 187 | .init_late = tegra_dt_init_late, | 187 | .init_late = tegra_dt_init_late, |
| 188 | .restart = tegra_assert_system_reset, | 188 | .restart = tegra_assert_system_reset, |
diff --git a/arch/arm/mach-tegra/board-dt-tegra30.c b/arch/arm/mach-tegra/board-dt-tegra30.c index e4a676d4ddf7..5e92a81f9a2e 100644 --- a/arch/arm/mach-tegra/board-dt-tegra30.c +++ b/arch/arm/mach-tegra/board-dt-tegra30.c | |||
| @@ -89,7 +89,7 @@ DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)") | |||
| 89 | .init_early = tegra30_init_early, | 89 | .init_early = tegra30_init_early, |
| 90 | .init_irq = tegra_dt_init_irq, | 90 | .init_irq = tegra_dt_init_irq, |
| 91 | .handle_irq = gic_handle_irq, | 91 | .handle_irq = gic_handle_irq, |
| 92 | .timer = &tegra_timer, | 92 | .timer = &tegra_sys_timer, |
| 93 | .init_machine = tegra30_dt_init, | 93 | .init_machine = tegra30_dt_init, |
| 94 | .init_late = tegra_init_late, | 94 | .init_late = tegra_init_late, |
| 95 | .restart = tegra_assert_system_reset, | 95 | .restart = tegra_assert_system_reset, |
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h index f88e5143c767..91fbe733a21e 100644 --- a/arch/arm/mach-tegra/board.h +++ b/arch/arm/mach-tegra/board.h | |||
| @@ -55,5 +55,5 @@ static inline int harmony_pcie_init(void) { return 0; } | |||
| 55 | 55 | ||
| 56 | void __init tegra_paz00_wifikill_init(void); | 56 | void __init tegra_paz00_wifikill_init(void); |
| 57 | 57 | ||
| 58 | extern struct sys_timer tegra_timer; | 58 | extern struct sys_timer tegra_sys_timer; |
| 59 | #endif | 59 | #endif |
diff --git a/arch/arm/mach-tegra/tegra20_clocks_data.c b/arch/arm/mach-tegra/tegra20_clocks_data.c index cc9b5fd8c3d3..8d398a33adf7 100644 --- a/arch/arm/mach-tegra/tegra20_clocks_data.c +++ b/arch/arm/mach-tegra/tegra20_clocks_data.c | |||
| @@ -953,6 +953,7 @@ PERIPH_CLK(pcie_xclk, NULL, "pcie_xclk", 74, 0, 26000000, mux_clk_m, | |||
| 953 | static struct clk *tegra_list_clks[] = { | 953 | static struct clk *tegra_list_clks[] = { |
| 954 | &tegra_apbdma, | 954 | &tegra_apbdma, |
| 955 | &tegra_rtc, | 955 | &tegra_rtc, |
| 956 | &tegra_timer, | ||
| 956 | &tegra_i2s1, | 957 | &tegra_i2s1, |
| 957 | &tegra_i2s2, | 958 | &tegra_i2s2, |
| 958 | &tegra_spdif_out, | 959 | &tegra_spdif_out, |
diff --git a/arch/arm/mach-tegra/tegra30_clocks.c b/arch/arm/mach-tegra/tegra30_clocks.c index 5cd502c27163..e9de5dfd94ec 100644 --- a/arch/arm/mach-tegra/tegra30_clocks.c +++ b/arch/arm/mach-tegra/tegra30_clocks.c | |||
| @@ -1199,7 +1199,7 @@ static long tegra30_pll_round_rate(struct clk_hw *hw, unsigned long rate, | |||
| 1199 | { | 1199 | { |
| 1200 | struct clk_tegra *c = to_clk_tegra(hw); | 1200 | struct clk_tegra *c = to_clk_tegra(hw); |
| 1201 | unsigned long input_rate = *prate; | 1201 | unsigned long input_rate = *prate; |
| 1202 | unsigned long output_rate = *prate; | 1202 | u64 output_rate = *prate; |
| 1203 | const struct clk_pll_freq_table *sel; | 1203 | const struct clk_pll_freq_table *sel; |
| 1204 | struct clk_pll_freq_table cfg; | 1204 | struct clk_pll_freq_table cfg; |
| 1205 | int mul; | 1205 | int mul; |
diff --git a/arch/arm/mach-tegra/tegra30_clocks_data.c b/arch/arm/mach-tegra/tegra30_clocks_data.c index d92cb556ae35..3d2e5532a9ea 100644 --- a/arch/arm/mach-tegra/tegra30_clocks_data.c +++ b/arch/arm/mach-tegra/tegra30_clocks_data.c | |||
| @@ -1143,6 +1143,7 @@ struct clk *tegra_list_clks[] = { | |||
| 1143 | &tegra_apbdma, | 1143 | &tegra_apbdma, |
| 1144 | &tegra_rtc, | 1144 | &tegra_rtc, |
| 1145 | &tegra_kbc, | 1145 | &tegra_kbc, |
| 1146 | &tegra_timer, | ||
| 1146 | &tegra_kfuse, | 1147 | &tegra_kfuse, |
| 1147 | &tegra_fuse, | 1148 | &tegra_fuse, |
| 1148 | &tegra_fuse_burn, | 1149 | &tegra_fuse_burn, |
diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c index eccdce983043..d3b8c8e7368f 100644 --- a/arch/arm/mach-tegra/timer.c +++ b/arch/arm/mach-tegra/timer.c | |||
| @@ -245,7 +245,7 @@ static void __init tegra_init_timer(void) | |||
| 245 | register_persistent_clock(NULL, tegra_read_persistent_clock); | 245 | register_persistent_clock(NULL, tegra_read_persistent_clock); |
| 246 | } | 246 | } |
| 247 | 247 | ||
| 248 | struct sys_timer tegra_timer = { | 248 | struct sys_timer tegra_sys_timer = { |
| 249 | .init = tegra_init_timer, | 249 | .init = tegra_init_timer, |
| 250 | }; | 250 | }; |
| 251 | 251 | ||
diff --git a/arch/arm/plat-omap/debug-devices.c b/arch/arm/plat-omap/debug-devices.c index c7a4c0902b38..5a4678edd65a 100644 --- a/arch/arm/plat-omap/debug-devices.c +++ b/arch/arm/plat-omap/debug-devices.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/smc91x.h> | 16 | #include <linux/smc91x.h> |
| 17 | 17 | ||
| 18 | #include <mach/hardware.h> | 18 | #include <mach/hardware.h> |
| 19 | #include "../mach-omap2/debug-devices.h" | ||
| 19 | 20 | ||
| 20 | /* Many OMAP development platforms reuse the same "debug board"; these | 21 | /* Many OMAP development platforms reuse the same "debug board"; these |
| 21 | * platforms include H2, H3, H4, and Perseus2. | 22 | * platforms include H2, H3, H4, and Perseus2. |
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 902af437eaf2..7a874129e5d8 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
| @@ -381,11 +381,13 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
| 381 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); | 381 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); |
| 382 | u &= ~(1 << pin); | 382 | u &= ~(1 << pin); |
| 383 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 383 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
| 384 | break; | ||
| 384 | case IRQ_TYPE_EDGE_FALLING: | 385 | case IRQ_TYPE_EDGE_FALLING: |
| 385 | case IRQ_TYPE_LEVEL_LOW: | 386 | case IRQ_TYPE_LEVEL_LOW: |
| 386 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); | 387 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); |
| 387 | u |= 1 << pin; | 388 | u |= 1 << pin; |
| 388 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 389 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
| 390 | break; | ||
| 389 | case IRQ_TYPE_EDGE_BOTH: { | 391 | case IRQ_TYPE_EDGE_BOTH: { |
| 390 | u32 v; | 392 | u32 v; |
| 391 | 393 | ||
| @@ -401,6 +403,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
| 401 | else | 403 | else |
| 402 | u &= ~(1 << pin); /* rising */ | 404 | u &= ~(1 << pin); /* rising */ |
| 403 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 405 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
| 406 | break; | ||
| 404 | } | 407 | } |
| 405 | } | 408 | } |
| 406 | return 0; | 409 | return 0; |
diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c index b066273b6b4f..7dd879ce514d 100644 --- a/drivers/pcmcia/pxa2xx_sharpsl.c +++ b/drivers/pcmcia/pxa2xx_sharpsl.c | |||
| @@ -194,7 +194,7 @@ static void sharpsl_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | |||
| 194 | sharpsl_pcmcia_init_reset(skt); | 194 | sharpsl_pcmcia_init_reset(skt); |
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = { | 197 | static struct pcmcia_low_level sharpsl_pcmcia_ops = { |
| 198 | .owner = THIS_MODULE, | 198 | .owner = THIS_MODULE, |
| 199 | .hw_init = sharpsl_pcmcia_hw_init, | 199 | .hw_init = sharpsl_pcmcia_hw_init, |
| 200 | .socket_state = sharpsl_pcmcia_socket_state, | 200 | .socket_state = sharpsl_pcmcia_socket_state, |
diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c index 6206a666a8ec..737554c37d9e 100644 --- a/drivers/scsi/arm/fas216.c +++ b/drivers/scsi/arm/fas216.c | |||
| @@ -179,6 +179,7 @@ static void print_SCp(struct scsi_pointer *SCp, const char *prefix, const char * | |||
| 179 | SCp->buffers_residual, suffix); | 179 | SCp->buffers_residual, suffix); |
| 180 | } | 180 | } |
| 181 | 181 | ||
| 182 | #ifdef CHECK_STRUCTURE | ||
| 182 | static void fas216_dumpinfo(FAS216_Info *info) | 183 | static void fas216_dumpinfo(FAS216_Info *info) |
| 183 | { | 184 | { |
| 184 | static int used = 0; | 185 | static int used = 0; |
| @@ -223,7 +224,6 @@ static void fas216_dumpinfo(FAS216_Info *info) | |||
| 223 | info->internal_done, info->magic_end); | 224 | info->internal_done, info->magic_end); |
| 224 | } | 225 | } |
| 225 | 226 | ||
| 226 | #ifdef CHECK_STRUCTURE | ||
| 227 | static void __fas216_checkmagic(FAS216_Info *info, const char *func) | 227 | static void __fas216_checkmagic(FAS216_Info *info, const char *func) |
| 228 | { | 228 | { |
| 229 | int corruption = 0; | 229 | int corruption = 0; |
diff --git a/drivers/scsi/arm/oak.c b/drivers/scsi/arm/oak.c index d25f944b59c2..fc6a5aabf66e 100644 --- a/drivers/scsi/arm/oak.c +++ b/drivers/scsi/arm/oak.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | /*#define PSEUDO_DMA*/ | 21 | /*#define PSEUDO_DMA*/ |
| 22 | 22 | ||
| 23 | #define OAKSCSI_PUBLIC_RELEASE 1 | 23 | #define OAKSCSI_PUBLIC_RELEASE 1 |
| 24 | #define DONT_USE_INTR | ||
| 24 | 25 | ||
| 25 | #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) | 26 | #define priv(host) ((struct NCR5380_hostdata *)(host)->hostdata) |
| 26 | #define NCR5380_local_declare() void __iomem *_base | 27 | #define NCR5380_local_declare() void __iomem *_base |
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 1a81c90a4a71..6e7a805d324d 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c | |||
| @@ -132,7 +132,7 @@ | |||
| 132 | 132 | ||
| 133 | struct s3c64xx_spi_dma_data { | 133 | struct s3c64xx_spi_dma_data { |
| 134 | unsigned ch; | 134 | unsigned ch; |
| 135 | enum dma_data_direction direction; | 135 | enum dma_transfer_direction direction; |
| 136 | enum dma_ch dmach; | 136 | enum dma_ch dmach; |
| 137 | struct property *dma_prop; | 137 | struct property *dma_prop; |
| 138 | }; | 138 | }; |
| @@ -1067,11 +1067,11 @@ static int __devinit s3c64xx_spi_get_dmares( | |||
| 1067 | 1067 | ||
| 1068 | if (tx) { | 1068 | if (tx) { |
| 1069 | dma_data = &sdd->tx_dma; | 1069 | dma_data = &sdd->tx_dma; |
| 1070 | dma_data->direction = DMA_TO_DEVICE; | 1070 | dma_data->direction = DMA_MEM_TO_DEV; |
| 1071 | chan_str = "tx"; | 1071 | chan_str = "tx"; |
| 1072 | } else { | 1072 | } else { |
| 1073 | dma_data = &sdd->rx_dma; | 1073 | dma_data = &sdd->rx_dma; |
| 1074 | dma_data->direction = DMA_FROM_DEVICE; | 1074 | dma_data->direction = DMA_DEV_TO_MEM; |
| 1075 | chan_str = "rx"; | 1075 | chan_str = "rx"; |
| 1076 | } | 1076 | } |
| 1077 | 1077 | ||
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 8e7eca62f169..9c2717d66730 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c | |||
| @@ -160,7 +160,7 @@ static const struct hc_driver ehci_orion_hc_driver = { | |||
| 160 | .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete, | 160 | .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete, |
| 161 | }; | 161 | }; |
| 162 | 162 | ||
| 163 | static void __init | 163 | static void __devinit |
| 164 | ehci_orion_conf_mbus_windows(struct usb_hcd *hcd, | 164 | ehci_orion_conf_mbus_windows(struct usb_hcd *hcd, |
| 165 | const struct mbus_dram_target_info *dram) | 165 | const struct mbus_dram_target_info *dram) |
| 166 | { | 166 | { |
| @@ -429,7 +429,7 @@ static __always_inline void * | |||
| 429 | __do_kmalloc_node(size_t size, gfp_t gfp, int node, unsigned long caller) | 429 | __do_kmalloc_node(size_t size, gfp_t gfp, int node, unsigned long caller) |
| 430 | { | 430 | { |
| 431 | unsigned int *m; | 431 | unsigned int *m; |
| 432 | int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); | 432 | int align = max_t(size_t, ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); |
| 433 | void *ret; | 433 | void *ret; |
| 434 | 434 | ||
| 435 | gfp &= gfp_allowed_mask; | 435 | gfp &= gfp_allowed_mask; |
| @@ -502,7 +502,7 @@ void kfree(const void *block) | |||
| 502 | 502 | ||
| 503 | sp = virt_to_page(block); | 503 | sp = virt_to_page(block); |
| 504 | if (PageSlab(sp)) { | 504 | if (PageSlab(sp)) { |
| 505 | int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); | 505 | int align = max_t(size_t, ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); |
| 506 | unsigned int *m = (unsigned int *)(block - align); | 506 | unsigned int *m = (unsigned int *)(block - align); |
| 507 | slob_free(m, *m + align); | 507 | slob_free(m, *m + align); |
| 508 | } else | 508 | } else |
| @@ -521,7 +521,7 @@ size_t ksize(const void *block) | |||
| 521 | 521 | ||
| 522 | sp = virt_to_page(block); | 522 | sp = virt_to_page(block); |
| 523 | if (PageSlab(sp)) { | 523 | if (PageSlab(sp)) { |
| 524 | int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); | 524 | int align = max_t(size_t, ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN); |
| 525 | unsigned int *m = (unsigned int *)(block - align); | 525 | unsigned int *m = (unsigned int *)(block - align); |
| 526 | return SLOB_UNITS(*m) * SLOB_UNIT; | 526 | return SLOB_UNITS(*m) * SLOB_UNIT; |
| 527 | } else | 527 | } else |
