diff options
-rw-r--r-- | Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | 12 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/dove.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4210.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4x12.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5440.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/configs/mvebu_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/configs/u8500_defconfig | 6 | ||||
-rw-r--r-- | arch/arm/include/asm/smp_scu.h | 8 | ||||
-rw-r--r-- | arch/arm/kernel/smp_scu.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-highbank/highbank.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-highbank/sysregs.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/common.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpuidle.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-orion/mpp.c | 2 | ||||
-rw-r--r-- | drivers/gpio/gpio-samsung.c | 6 | ||||
-rw-r--r-- | drivers/mfd/vexpress-sysreg.c | 2 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-samsung.c | 4 |
21 files changed, 56 insertions, 43 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index e97a27856b21..4598a47aa0cd 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | |||
@@ -7,9 +7,9 @@ on-chip controllers onto these pads. | |||
7 | 7 | ||
8 | Required Properties: | 8 | Required Properties: |
9 | - compatible: should be one of the following. | 9 | - compatible: should be one of the following. |
10 | - "samsung,pinctrl-exynos4210": for Exynos4210 compatible pin-controller. | 10 | - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. |
11 | - "samsung,pinctrl-exynos4x12": for Exynos4x12 compatible pin-controller. | 11 | - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. |
12 | - "samsung,pinctrl-exynos5250": for Exynos5250 compatible pin-controller. | 12 | - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. |
13 | 13 | ||
14 | - reg: Base address of the pin controller hardware module and length of | 14 | - reg: Base address of the pin controller hardware module and length of |
15 | the address space it occupies. | 15 | the address space it occupies. |
@@ -142,7 +142,7 @@ the following format 'pinctrl{n}' where n is a unique number for the alias. | |||
142 | Example: A pin-controller node with pin banks: | 142 | Example: A pin-controller node with pin banks: |
143 | 143 | ||
144 | pinctrl_0: pinctrl@11400000 { | 144 | pinctrl_0: pinctrl@11400000 { |
145 | compatible = "samsung,pinctrl-exynos4210"; | 145 | compatible = "samsung,exynos4210-pinctrl"; |
146 | reg = <0x11400000 0x1000>; | 146 | reg = <0x11400000 0x1000>; |
147 | interrupts = <0 47 0>; | 147 | interrupts = <0 47 0>; |
148 | 148 | ||
@@ -185,7 +185,7 @@ Example: A pin-controller node with pin banks: | |||
185 | Example 1: A pin-controller node with pin groups. | 185 | Example 1: A pin-controller node with pin groups. |
186 | 186 | ||
187 | pinctrl_0: pinctrl@11400000 { | 187 | pinctrl_0: pinctrl@11400000 { |
188 | compatible = "samsung,pinctrl-exynos4210"; | 188 | compatible = "samsung,exynos4210-pinctrl"; |
189 | reg = <0x11400000 0x1000>; | 189 | reg = <0x11400000 0x1000>; |
190 | interrupts = <0 47 0>; | 190 | interrupts = <0 47 0>; |
191 | 191 | ||
@@ -230,7 +230,7 @@ Example 1: A pin-controller node with pin groups. | |||
230 | Example 2: A pin-controller node with external wakeup interrupt controller node. | 230 | Example 2: A pin-controller node with external wakeup interrupt controller node. |
231 | 231 | ||
232 | pinctrl_1: pinctrl@11000000 { | 232 | pinctrl_1: pinctrl@11000000 { |
233 | compatible = "samsung,pinctrl-exynos4210"; | 233 | compatible = "samsung,exynos4210-pinctrl"; |
234 | reg = <0x11000000 0x1000>; | 234 | reg = <0x11000000 0x1000>; |
235 | interrupts = <0 46 0> | 235 | interrupts = <0 46 0> |
236 | 236 | ||
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index 8ecca6948d81..0c6009080b88 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -197,9 +197,9 @@ | |||
197 | }; | 197 | }; |
198 | 198 | ||
199 | usart3 { | 199 | usart3 { |
200 | pinctrl_uart3: usart3-0 { | 200 | pinctrl_usart3: usart3-0 { |
201 | atmel,pins = | 201 | atmel,pins = |
202 | <2 23 0x2 0x1 /* PC22 periph B with pullup */ | 202 | <2 22 0x2 0x1 /* PC22 periph B with pullup */ |
203 | 2 23 0x2 0x0>; /* PC23 periph B */ | 203 | 2 23 0x2 0x0>; /* PC23 periph B */ |
204 | }; | 204 | }; |
205 | 205 | ||
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi index 42eac1ff3cc8..740630f9cd65 100644 --- a/arch/arm/boot/dts/dove.dtsi +++ b/arch/arm/boot/dts/dove.dtsi | |||
@@ -93,6 +93,7 @@ | |||
93 | reg = <0xd0400 0x20>; | 93 | reg = <0xd0400 0x20>; |
94 | ngpios = <32>; | 94 | ngpios = <32>; |
95 | interrupt-controller; | 95 | interrupt-controller; |
96 | #interrupt-cells = <2>; | ||
96 | interrupts = <12>, <13>, <14>, <60>; | 97 | interrupts = <12>, <13>, <14>, <60>; |
97 | }; | 98 | }; |
98 | 99 | ||
@@ -103,6 +104,7 @@ | |||
103 | reg = <0xd0420 0x20>; | 104 | reg = <0xd0420 0x20>; |
104 | ngpios = <32>; | 105 | ngpios = <32>; |
105 | interrupt-controller; | 106 | interrupt-controller; |
107 | #interrupt-cells = <2>; | ||
106 | interrupts = <61>; | 108 | interrupts = <61>; |
107 | }; | 109 | }; |
108 | 110 | ||
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index e31bfc4a6f09..2feffc70814c 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi | |||
@@ -48,13 +48,13 @@ | |||
48 | }; | 48 | }; |
49 | 49 | ||
50 | pinctrl_0: pinctrl@11400000 { | 50 | pinctrl_0: pinctrl@11400000 { |
51 | compatible = "samsung,pinctrl-exynos4210"; | 51 | compatible = "samsung,exynos4210-pinctrl"; |
52 | reg = <0x11400000 0x1000>; | 52 | reg = <0x11400000 0x1000>; |
53 | interrupts = <0 47 0>; | 53 | interrupts = <0 47 0>; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | pinctrl_1: pinctrl@11000000 { | 56 | pinctrl_1: pinctrl@11000000 { |
57 | compatible = "samsung,pinctrl-exynos4210"; | 57 | compatible = "samsung,exynos4210-pinctrl"; |
58 | reg = <0x11000000 0x1000>; | 58 | reg = <0x11000000 0x1000>; |
59 | interrupts = <0 46 0>; | 59 | interrupts = <0 46 0>; |
60 | 60 | ||
@@ -66,7 +66,7 @@ | |||
66 | }; | 66 | }; |
67 | 67 | ||
68 | pinctrl_2: pinctrl@03860000 { | 68 | pinctrl_2: pinctrl@03860000 { |
69 | compatible = "samsung,pinctrl-exynos4210"; | 69 | compatible = "samsung,exynos4210-pinctrl"; |
70 | reg = <0x03860000 0x1000>; | 70 | reg = <0x03860000 0x1000>; |
71 | }; | 71 | }; |
72 | 72 | ||
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index 179a62e46c9d..9a8780694909 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi | |||
@@ -37,13 +37,13 @@ | |||
37 | }; | 37 | }; |
38 | 38 | ||
39 | pinctrl_0: pinctrl@11400000 { | 39 | pinctrl_0: pinctrl@11400000 { |
40 | compatible = "samsung,pinctrl-exynos4x12"; | 40 | compatible = "samsung,exynos4x12-pinctrl"; |
41 | reg = <0x11400000 0x1000>; | 41 | reg = <0x11400000 0x1000>; |
42 | interrupts = <0 47 0>; | 42 | interrupts = <0 47 0>; |
43 | }; | 43 | }; |
44 | 44 | ||
45 | pinctrl_1: pinctrl@11000000 { | 45 | pinctrl_1: pinctrl@11000000 { |
46 | compatible = "samsung,pinctrl-exynos4x12"; | 46 | compatible = "samsung,exynos4x12-pinctrl"; |
47 | reg = <0x11000000 0x1000>; | 47 | reg = <0x11000000 0x1000>; |
48 | interrupts = <0 46 0>; | 48 | interrupts = <0 46 0>; |
49 | 49 | ||
@@ -55,14 +55,14 @@ | |||
55 | }; | 55 | }; |
56 | 56 | ||
57 | pinctrl_2: pinctrl@03860000 { | 57 | pinctrl_2: pinctrl@03860000 { |
58 | compatible = "samsung,pinctrl-exynos4x12"; | 58 | compatible = "samsung,exynos4x12-pinctrl"; |
59 | reg = <0x03860000 0x1000>; | 59 | reg = <0x03860000 0x1000>; |
60 | interrupt-parent = <&combiner>; | 60 | interrupt-parent = <&combiner>; |
61 | interrupts = <10 0>; | 61 | interrupts = <10 0>; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | pinctrl_3: pinctrl@106E0000 { | 64 | pinctrl_3: pinctrl@106E0000 { |
65 | compatible = "samsung,pinctrl-exynos4x12"; | 65 | compatible = "samsung,exynos4x12-pinctrl"; |
66 | reg = <0x106E0000 0x1000>; | 66 | reg = <0x106E0000 0x1000>; |
67 | interrupts = <0 72 0>; | 67 | interrupts = <0 72 0>; |
68 | }; | 68 | }; |
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi index 024269de8ee5..5f3562ad6746 100644 --- a/arch/arm/boot/dts/exynos5440.dtsi +++ b/arch/arm/boot/dts/exynos5440.dtsi | |||
@@ -86,7 +86,7 @@ | |||
86 | }; | 86 | }; |
87 | 87 | ||
88 | pinctrl { | 88 | pinctrl { |
89 | compatible = "samsung,pinctrl-exynos5440"; | 89 | compatible = "samsung,exynos5440-pinctrl"; |
90 | reg = <0xE0000 0x1000>; | 90 | reg = <0xE0000 0x1000>; |
91 | interrupt-controller; | 91 | interrupt-controller; |
92 | #interrupt-cells = <2>; | 92 | #interrupt-cells = <2>; |
@@ -154,6 +154,6 @@ | |||
154 | rtc { | 154 | rtc { |
155 | compatible = "samsung,s3c6410-rtc"; | 155 | compatible = "samsung,s3c6410-rtc"; |
156 | reg = <0x130000 0x1000>; | 156 | reg = <0x130000 0x1000>; |
157 | interrupts = <0 16 0>, <0 17 0>; | 157 | interrupts = <0 17 0>, <0 16 0>; |
158 | }; | 158 | }; |
159 | }; | 159 | }; |
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi index d6265ca97119..ff1205ea5719 100644 --- a/arch/arm/boot/dts/imx6q.dtsi +++ b/arch/arm/boot/dts/imx6q.dtsi | |||
@@ -866,7 +866,7 @@ | |||
866 | compatible = "fsl,imx6q-fec"; | 866 | compatible = "fsl,imx6q-fec"; |
867 | reg = <0x02188000 0x4000>; | 867 | reg = <0x02188000 0x4000>; |
868 | interrupts = <0 118 0x04 0 119 0x04>; | 868 | interrupts = <0 118 0x04 0 119 0x04>; |
869 | clocks = <&clks 117>, <&clks 117>, <&clks 177>; | 869 | clocks = <&clks 117>, <&clks 117>, <&clks 190>; |
870 | clock-names = "ipg", "ahb", "ptp"; | 870 | clock-names = "ipg", "ahb", "ptp"; |
871 | status = "disabled"; | 871 | status = "disabled"; |
872 | }; | 872 | }; |
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig index b5bc96cb65a7..cbd91bce1ca9 100644 --- a/arch/arm/configs/mvebu_defconfig +++ b/arch/arm/configs/mvebu_defconfig | |||
@@ -33,6 +33,8 @@ CONFIG_MVNETA=y | |||
33 | CONFIG_MARVELL_PHY=y | 33 | CONFIG_MARVELL_PHY=y |
34 | CONFIG_SERIAL_8250=y | 34 | CONFIG_SERIAL_8250=y |
35 | CONFIG_SERIAL_8250_CONSOLE=y | 35 | CONFIG_SERIAL_8250_CONSOLE=y |
36 | CONFIG_I2C=y | ||
37 | CONFIG_I2C_MV64XXX=y | ||
36 | CONFIG_SERIAL_8250_DW=y | 38 | CONFIG_SERIAL_8250_DW=y |
37 | CONFIG_GPIOLIB=y | 39 | CONFIG_GPIOLIB=y |
38 | CONFIG_GPIO_SYSFS=y | 40 | CONFIG_GPIO_SYSFS=y |
diff --git a/arch/arm/configs/u8500_defconfig b/arch/arm/configs/u8500_defconfig index 231dca604737..426270fe080d 100644 --- a/arch/arm/configs/u8500_defconfig +++ b/arch/arm/configs/u8500_defconfig | |||
@@ -66,9 +66,9 @@ CONFIG_SPI=y | |||
66 | CONFIG_SPI_PL022=y | 66 | CONFIG_SPI_PL022=y |
67 | CONFIG_GPIO_STMPE=y | 67 | CONFIG_GPIO_STMPE=y |
68 | CONFIG_GPIO_TC3589X=y | 68 | CONFIG_GPIO_TC3589X=y |
69 | CONFIG_POWER_SUPPLY=y | 69 | # CONFIG_POWER_SUPPLY is not set |
70 | CONFIG_AB8500_BM=y | 70 | # CONFIG_AB8500_BM is not set |
71 | CONFIG_AB8500_BATTERY_THERM_ON_BATCTRL=y | 71 | # CONFIG_AB8500_BATTERY_THERM_ON_BATCTRL is not set |
72 | CONFIG_THERMAL=y | 72 | CONFIG_THERMAL=y |
73 | CONFIG_CPU_THERMAL=y | 73 | CONFIG_CPU_THERMAL=y |
74 | CONFIG_MFD_STMPE=y | 74 | CONFIG_MFD_STMPE=y |
diff --git a/arch/arm/include/asm/smp_scu.h b/arch/arm/include/asm/smp_scu.h index 4eb6d005ffaa..86dff32a0737 100644 --- a/arch/arm/include/asm/smp_scu.h +++ b/arch/arm/include/asm/smp_scu.h | |||
@@ -7,8 +7,14 @@ | |||
7 | 7 | ||
8 | #ifndef __ASSEMBLER__ | 8 | #ifndef __ASSEMBLER__ |
9 | unsigned int scu_get_core_count(void __iomem *); | 9 | unsigned int scu_get_core_count(void __iomem *); |
10 | void scu_enable(void __iomem *); | ||
11 | int scu_power_mode(void __iomem *, unsigned int); | 10 | int scu_power_mode(void __iomem *, unsigned int); |
11 | |||
12 | #ifdef CONFIG_SMP | ||
13 | void scu_enable(void __iomem *scu_base); | ||
14 | #else | ||
15 | static inline void scu_enable(void __iomem *scu_base) {} | ||
16 | #endif | ||
17 | |||
12 | #endif | 18 | #endif |
13 | 19 | ||
14 | #endif | 20 | #endif |
diff --git a/arch/arm/kernel/smp_scu.c b/arch/arm/kernel/smp_scu.c index b9f015e843d8..45eac87ed66a 100644 --- a/arch/arm/kernel/smp_scu.c +++ b/arch/arm/kernel/smp_scu.c | |||
@@ -75,7 +75,7 @@ void scu_enable(void __iomem *scu_base) | |||
75 | int scu_power_mode(void __iomem *scu_base, unsigned int mode) | 75 | int scu_power_mode(void __iomem *scu_base, unsigned int mode) |
76 | { | 76 | { |
77 | unsigned int val; | 77 | unsigned int val; |
78 | int cpu = cpu_logical_map(smp_processor_id()); | 78 | int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0); |
79 | 79 | ||
80 | if (mode > 3 || mode == 1 || cpu > 3) | 80 | if (mode > 3 || mode == 1 || cpu > 3) |
81 | return -EINVAL; | 81 | return -EINVAL; |
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index 1a89824a5f78..0c7e3ad7ba93 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const char *cmd) | |||
299 | 299 | ||
300 | void exynos5_restart(char mode, const char *cmd) | 300 | void exynos5_restart(char mode, const char *cmd) |
301 | { | 301 | { |
302 | struct device_node *np; | ||
302 | u32 val; | 303 | u32 val; |
303 | void __iomem *addr; | 304 | void __iomem *addr; |
304 | 305 | ||
@@ -306,8 +307,9 @@ void exynos5_restart(char mode, const char *cmd) | |||
306 | val = 0x1; | 307 | val = 0x1; |
307 | addr = EXYNOS_SWRESET; | 308 | addr = EXYNOS_SWRESET; |
308 | } else if (of_machine_is_compatible("samsung,exynos5440")) { | 309 | } else if (of_machine_is_compatible("samsung,exynos5440")) { |
309 | val = (0x10 << 20) | (0x1 << 16); | 310 | np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); |
310 | addr = EXYNOS5440_SWRESET; | 311 | addr = of_iomap(np, 0) + 0xcc; |
312 | val = (0xfff << 20) | (0x1 << 16); | ||
311 | } else { | 313 | } else { |
312 | pr_err("%s: cannot support non-DT\n", __func__); | 314 | pr_err("%s: cannot support non-DT\n", __func__); |
313 | return; | 315 | return; |
@@ -1031,8 +1033,8 @@ static int __init exynos_init_irq_eint(void) | |||
1031 | * interrupt support code here can be completely removed. | 1033 | * interrupt support code here can be completely removed. |
1032 | */ | 1034 | */ |
1033 | static const struct of_device_id exynos_pinctrl_ids[] = { | 1035 | static const struct of_device_id exynos_pinctrl_ids[] = { |
1034 | { .compatible = "samsung,pinctrl-exynos4210", }, | 1036 | { .compatible = "samsung,exynos4210-pinctrl", }, |
1035 | { .compatible = "samsung,pinctrl-exynos4x12", }, | 1037 | { .compatible = "samsung,exynos4x12-pinctrl", }, |
1036 | }; | 1038 | }; |
1037 | struct device_node *pctrl_np, *wkup_np; | 1039 | struct device_node *pctrl_np, *wkup_np; |
1038 | const char *wkup_compat = "samsung,exynos4210-wakeup-eint"; | 1040 | const char *wkup_compat = "samsung,exynos4210-wakeup-eint"; |
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c index 981dc1e1da51..e6c061282939 100644 --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include <asm/arch_timer.h> | 29 | #include <asm/arch_timer.h> |
30 | #include <asm/cacheflush.h> | 30 | #include <asm/cacheflush.h> |
31 | #include <asm/cputype.h> | ||
31 | #include <asm/smp_plat.h> | 32 | #include <asm/smp_plat.h> |
32 | #include <asm/smp_twd.h> | 33 | #include <asm/smp_twd.h> |
33 | #include <asm/hardware/arm_timer.h> | 34 | #include <asm/hardware/arm_timer.h> |
@@ -59,7 +60,7 @@ static void __init highbank_scu_map_io(void) | |||
59 | 60 | ||
60 | void highbank_set_cpu_jump(int cpu, void *jump_addr) | 61 | void highbank_set_cpu_jump(int cpu, void *jump_addr) |
61 | { | 62 | { |
62 | cpu = cpu_logical_map(cpu); | 63 | cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(cpu), 0); |
63 | writel(virt_to_phys(jump_addr), HB_JUMP_TABLE_VIRT(cpu)); | 64 | writel(virt_to_phys(jump_addr), HB_JUMP_TABLE_VIRT(cpu)); |
64 | __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16); | 65 | __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16); |
65 | outer_clean_range(HB_JUMP_TABLE_PHYS(cpu), | 66 | outer_clean_range(HB_JUMP_TABLE_PHYS(cpu), |
diff --git a/arch/arm/mach-highbank/sysregs.h b/arch/arm/mach-highbank/sysregs.h index 70af9d13fcef..5995df7f2622 100644 --- a/arch/arm/mach-highbank/sysregs.h +++ b/arch/arm/mach-highbank/sysregs.h | |||
@@ -37,7 +37,7 @@ extern void __iomem *sregs_base; | |||
37 | 37 | ||
38 | static inline void highbank_set_core_pwr(void) | 38 | static inline void highbank_set_core_pwr(void) |
39 | { | 39 | { |
40 | int cpu = cpu_logical_map(smp_processor_id()); | 40 | int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0); |
41 | if (scu_base_addr) | 41 | if (scu_base_addr) |
42 | scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); | 42 | scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); |
43 | else | 43 | else |
@@ -46,7 +46,7 @@ static inline void highbank_set_core_pwr(void) | |||
46 | 46 | ||
47 | static inline void highbank_clear_core_pwr(void) | 47 | static inline void highbank_clear_core_pwr(void) |
48 | { | 48 | { |
49 | int cpu = cpu_logical_map(smp_processor_id()); | 49 | int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0); |
50 | if (scu_base_addr) | 50 | if (scu_base_addr) |
51 | scu_power_mode(scu_base_addr, SCU_PM_NORMAL); | 51 | scu_power_mode(scu_base_addr, SCU_PM_NORMAL); |
52 | else | 52 | else |
diff --git a/arch/arm/mach-s3c24xx/common.c b/arch/arm/mach-s3c24xx/common.c index 0c9e9a785ef6..6bcf87f65f9e 100644 --- a/arch/arm/mach-s3c24xx/common.c +++ b/arch/arm/mach-s3c24xx/common.c | |||
@@ -197,7 +197,7 @@ static unsigned long s3c24xx_read_idcode_v4(void) | |||
197 | 197 | ||
198 | static void s3c24xx_default_idle(void) | 198 | static void s3c24xx_default_idle(void) |
199 | { | 199 | { |
200 | unsigned long tmp; | 200 | unsigned long tmp = 0; |
201 | int i; | 201 | int i; |
202 | 202 | ||
203 | /* idle the system by using the idle mode which will wait for an | 203 | /* idle the system by using the idle mode which will wait for an |
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index 721e7b4275f3..d4dcec53171a 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c | |||
@@ -71,13 +71,11 @@ void __init ux500_init_irq(void) | |||
71 | * Init clocks here so that they are available for system timer | 71 | * Init clocks here so that they are available for system timer |
72 | * initialization. | 72 | * initialization. |
73 | */ | 73 | */ |
74 | if (cpu_is_u8500_family()) | 74 | if (cpu_is_u8500_family() || cpu_is_u9540()) |
75 | db8500_prcmu_early_init(); | 75 | db8500_prcmu_early_init(); |
76 | 76 | ||
77 | if (cpu_is_u8500_family()) | 77 | if (cpu_is_u8500_family() || cpu_is_u9540()) |
78 | u8500_clk_init(); | 78 | u8500_clk_init(); |
79 | else if (cpu_is_u9540()) | ||
80 | u9540_clk_init(); | ||
81 | else if (cpu_is_u8540()) | 79 | else if (cpu_is_u8540()) |
82 | u8540_clk_init(); | 80 | u8540_clk_init(); |
83 | } | 81 | } |
diff --git a/arch/arm/mach-ux500/cpuidle.c b/arch/arm/mach-ux500/cpuidle.c index b54884bd2549..ce9149302cc3 100644 --- a/arch/arm/mach-ux500/cpuidle.c +++ b/arch/arm/mach-ux500/cpuidle.c | |||
@@ -40,8 +40,10 @@ static inline int ux500_enter_idle(struct cpuidle_device *dev, | |||
40 | goto wfi; | 40 | goto wfi; |
41 | 41 | ||
42 | /* decouple the gic from the A9 cores */ | 42 | /* decouple the gic from the A9 cores */ |
43 | if (prcmu_gic_decouple()) | 43 | if (prcmu_gic_decouple()) { |
44 | spin_unlock(&master_lock); | ||
44 | goto out; | 45 | goto out; |
46 | } | ||
45 | 47 | ||
46 | /* If an error occur, we will have to recouple the gic | 48 | /* If an error occur, we will have to recouple the gic |
47 | * manually */ | 49 | * manually */ |
diff --git a/arch/arm/plat-orion/mpp.c b/arch/arm/plat-orion/mpp.c index e686fe76a96b..7310bcfb299f 100644 --- a/arch/arm/plat-orion/mpp.c +++ b/arch/arm/plat-orion/mpp.c | |||
@@ -49,7 +49,7 @@ void __init orion_mpp_conf(unsigned int *mpp_list, unsigned int variant_mask, | |||
49 | "number (%u)\n", num); | 49 | "number (%u)\n", num); |
50 | continue; | 50 | continue; |
51 | } | 51 | } |
52 | if (variant_mask & !(*mpp_list & variant_mask)) { | 52 | if (variant_mask && !(*mpp_list & variant_mask)) { |
53 | printk(KERN_WARNING | 53 | printk(KERN_WARNING |
54 | "orion_mpp_conf: requested MPP%u config " | 54 | "orion_mpp_conf: requested MPP%u config " |
55 | "unavailable on this hardware\n", num); | 55 | "unavailable on this hardware\n", num); |
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c index 76be7eed79de..b2016ed941ac 100644 --- a/drivers/gpio/gpio-samsung.c +++ b/drivers/gpio/gpio-samsung.c | |||
@@ -3023,9 +3023,9 @@ static __init int samsung_gpiolib_init(void) | |||
3023 | */ | 3023 | */ |
3024 | struct device_node *pctrl_np; | 3024 | struct device_node *pctrl_np; |
3025 | static const struct of_device_id exynos_pinctrl_ids[] = { | 3025 | static const struct of_device_id exynos_pinctrl_ids[] = { |
3026 | { .compatible = "samsung,pinctrl-exynos4210", }, | 3026 | { .compatible = "samsung,exynos4210-pinctrl", }, |
3027 | { .compatible = "samsung,pinctrl-exynos4x12", }, | 3027 | { .compatible = "samsung,exynos4x12-pinctrl", }, |
3028 | { .compatible = "samsung,pinctrl-exynos5440", }, | 3028 | { .compatible = "samsung,exynos5440-pinctrl", }, |
3029 | }; | 3029 | }; |
3030 | for_each_matching_node(pctrl_np, exynos_pinctrl_ids) | 3030 | for_each_matching_node(pctrl_np, exynos_pinctrl_ids) |
3031 | if (pctrl_np && of_device_is_available(pctrl_np)) | 3031 | if (pctrl_np && of_device_is_available(pctrl_np)) |
diff --git a/drivers/mfd/vexpress-sysreg.c b/drivers/mfd/vexpress-sysreg.c index 77048b18439e..558c2928f261 100644 --- a/drivers/mfd/vexpress-sysreg.c +++ b/drivers/mfd/vexpress-sysreg.c | |||
@@ -313,7 +313,7 @@ static void vexpress_sysreg_config_complete(unsigned long data) | |||
313 | } | 313 | } |
314 | 314 | ||
315 | 315 | ||
316 | void __init vexpress_sysreg_setup(struct device_node *node) | 316 | void vexpress_sysreg_setup(struct device_node *node) |
317 | { | 317 | { |
318 | if (WARN_ON(!vexpress_sysreg_base)) | 318 | if (WARN_ON(!vexpress_sysreg_base)) |
319 | return; | 319 | return; |
diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c index fd7b24cd8908..044d2da34e4e 100644 --- a/drivers/pinctrl/pinctrl-samsung.c +++ b/drivers/pinctrl/pinctrl-samsung.c | |||
@@ -947,9 +947,9 @@ static int samsung_pinctrl_probe(struct platform_device *pdev) | |||
947 | } | 947 | } |
948 | 948 | ||
949 | static const struct of_device_id samsung_pinctrl_dt_match[] = { | 949 | static const struct of_device_id samsung_pinctrl_dt_match[] = { |
950 | { .compatible = "samsung,pinctrl-exynos4210", | 950 | { .compatible = "samsung,exynos4210-pinctrl", |
951 | .data = (void *)exynos4210_pin_ctrl }, | 951 | .data = (void *)exynos4210_pin_ctrl }, |
952 | { .compatible = "samsung,pinctrl-exynos4x12", | 952 | { .compatible = "samsung,exynos4x12-pinctrl", |
953 | .data = (void *)exynos4x12_pin_ctrl }, | 953 | .data = (void *)exynos4x12_pin_ctrl }, |
954 | {}, | 954 | {}, |
955 | }; | 955 | }; |