diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-12-27 21:06:31 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-12-27 21:06:31 -0500 |
commit | db0665012cc9cbc0445678e3fcce102791f721ce (patch) | |
tree | ad55ca1264d13e1bbe7d0590f3cf6dca289864f5 | |
parent | 2c96961fb8176b69fac20d2ea7242180a5f49847 (diff) | |
parent | 80373d37bee562060ce4d3e5272b708e8db5d1fc (diff) |
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson:
"A smallish set of fixes that we've been sitting on for a while now,
flushing the queue here so they go in. Summary:
A handful of fixes for OMAP, i.MX, Allwinner and Tegra:
- A clock rate and a PHY setup fix for i.MX6Q/DL
- A couple of fixes for the reduced serial bus (sunxi-rsb) on
Allwinner
- UART wakeirq fix for an OMAP4 board, timer config fixes for AM43XX.
- Suspend fix for Tegra124 Chromebooks
- Fix for missing implicit include that's different between
ARM/ARM64"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: tegra: Fix suspend hang on Tegra124 Chromebooks
bus: sunxi-rsb: Fix peripheral IC mapping runtime address
bus: sunxi-rsb: Fix primary PMIC mapping hardware address
ARM: dts: Fix UART wakeirq for omap4 duovero parlor
ARM: OMAP2+: AM43xx: select ARM TWD timer
ARM: OMAP2+: am43xx: enable GENERIC_CLOCKEVENTS_BROADCAST
fsl-ifc: add missing include on ARM64
ARM: dts: imx6: Fix Ethernet PHY mode on Ventana boards
ARM: dts: imx: Fix the assigned-clock mismatch issue on imx6q/dl
bus: sunxi-rsb: unlock on error in sunxi_rsb_read()
ARM: dts: sunxi: sun6i-a31s-primo81.dts: add touchscreen axis swapping property
-rw-r--r-- | arch/arm/boot/dts/imx6q-gw5400-a.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4-duovero-parlor.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun6i-a31s-primo81.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra124-nyan.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/timer.c | 6 | ||||
-rw-r--r-- | drivers/bus/sunxi-rsb.c | 8 | ||||
-rw-r--r-- | drivers/memory/fsl_ifc.c | 1 |
13 files changed, 27 insertions, 13 deletions
diff --git a/arch/arm/boot/dts/imx6q-gw5400-a.dts b/arch/arm/boot/dts/imx6q-gw5400-a.dts index 58adf176425a..a51834e1dd27 100644 --- a/arch/arm/boot/dts/imx6q-gw5400-a.dts +++ b/arch/arm/boot/dts/imx6q-gw5400-a.dts | |||
@@ -154,7 +154,7 @@ | |||
154 | &fec { | 154 | &fec { |
155 | pinctrl-names = "default"; | 155 | pinctrl-names = "default"; |
156 | pinctrl-0 = <&pinctrl_enet>; | 156 | pinctrl-0 = <&pinctrl_enet>; |
157 | phy-mode = "rgmii"; | 157 | phy-mode = "rgmii-id"; |
158 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; | 158 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; |
159 | status = "okay"; | 159 | status = "okay"; |
160 | }; | 160 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi index 7b31fdb79ced..dc0cebfe22d7 100644 --- a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | |||
@@ -94,7 +94,7 @@ | |||
94 | &fec { | 94 | &fec { |
95 | pinctrl-names = "default"; | 95 | pinctrl-names = "default"; |
96 | pinctrl-0 = <&pinctrl_enet>; | 96 | pinctrl-0 = <&pinctrl_enet>; |
97 | phy-mode = "rgmii"; | 97 | phy-mode = "rgmii-id"; |
98 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; | 98 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; |
99 | status = "okay"; | 99 | status = "okay"; |
100 | }; | 100 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi index 1b66328a8498..18cd4114a23e 100644 --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | |||
@@ -154,7 +154,7 @@ | |||
154 | &fec { | 154 | &fec { |
155 | pinctrl-names = "default"; | 155 | pinctrl-names = "default"; |
156 | pinctrl-0 = <&pinctrl_enet>; | 156 | pinctrl-0 = <&pinctrl_enet>; |
157 | phy-mode = "rgmii"; | 157 | phy-mode = "rgmii-id"; |
158 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; | 158 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; |
159 | status = "okay"; | 159 | status = "okay"; |
160 | }; | 160 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi index 7c51839ff934..eea90f37bbb8 100644 --- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | |||
@@ -155,7 +155,7 @@ | |||
155 | &fec { | 155 | &fec { |
156 | pinctrl-names = "default"; | 156 | pinctrl-names = "default"; |
157 | pinctrl-0 = <&pinctrl_enet>; | 157 | pinctrl-0 = <&pinctrl_enet>; |
158 | phy-mode = "rgmii"; | 158 | phy-mode = "rgmii-id"; |
159 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; | 159 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; |
160 | status = "okay"; | 160 | status = "okay"; |
161 | }; | 161 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi index 929e0b37bd9e..6c11a2ae35ef 100644 --- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | |||
@@ -145,7 +145,7 @@ | |||
145 | &fec { | 145 | &fec { |
146 | pinctrl-names = "default"; | 146 | pinctrl-names = "default"; |
147 | pinctrl-0 = <&pinctrl_enet>; | 147 | pinctrl-0 = <&pinctrl_enet>; |
148 | phy-mode = "rgmii"; | 148 | phy-mode = "rgmii-id"; |
149 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; | 149 | phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; |
150 | status = "okay"; | 150 | status = "okay"; |
151 | }; | 151 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi index 8263fc18a7d9..d354d406954d 100644 --- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | |||
@@ -113,14 +113,14 @@ | |||
113 | &clks { | 113 | &clks { |
114 | assigned-clocks = <&clks IMX6QDL_PLL4_BYPASS_SRC>, | 114 | assigned-clocks = <&clks IMX6QDL_PLL4_BYPASS_SRC>, |
115 | <&clks IMX6QDL_PLL4_BYPASS>, | 115 | <&clks IMX6QDL_PLL4_BYPASS>, |
116 | <&clks IMX6QDL_CLK_PLL4_POST_DIV>, | ||
117 | <&clks IMX6QDL_CLK_LDB_DI0_SEL>, | 116 | <&clks IMX6QDL_CLK_LDB_DI0_SEL>, |
118 | <&clks IMX6QDL_CLK_LDB_DI1_SEL>; | 117 | <&clks IMX6QDL_CLK_LDB_DI1_SEL>, |
118 | <&clks IMX6QDL_CLK_PLL4_POST_DIV>; | ||
119 | assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS2_IN>, | 119 | assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS2_IN>, |
120 | <&clks IMX6QDL_PLL4_BYPASS_SRC>, | 120 | <&clks IMX6QDL_PLL4_BYPASS_SRC>, |
121 | <&clks IMX6QDL_CLK_PLL3_USB_OTG>, | 121 | <&clks IMX6QDL_CLK_PLL3_USB_OTG>, |
122 | <&clks IMX6QDL_CLK_PLL3_USB_OTG>; | 122 | <&clks IMX6QDL_CLK_PLL3_USB_OTG>; |
123 | assigned-clock-rates = <0>, <0>, <24576000>; | 123 | assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>; |
124 | }; | 124 | }; |
125 | 125 | ||
126 | &ecspi1 { | 126 | &ecspi1 { |
diff --git a/arch/arm/boot/dts/omap4-duovero-parlor.dts b/arch/arm/boot/dts/omap4-duovero-parlor.dts index 1a78f013f37a..b75f7b2b7c4a 100644 --- a/arch/arm/boot/dts/omap4-duovero-parlor.dts +++ b/arch/arm/boot/dts/omap4-duovero-parlor.dts | |||
@@ -189,3 +189,7 @@ | |||
189 | }; | 189 | }; |
190 | }; | 190 | }; |
191 | 191 | ||
192 | &uart3 { | ||
193 | interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH | ||
194 | &omap4_pmx_core OMAP4_UART3_RX>; | ||
195 | }; | ||
diff --git a/arch/arm/boot/dts/sun6i-a31s-primo81.dts b/arch/arm/boot/dts/sun6i-a31s-primo81.dts index 2d4250b1faf8..68b479b8772c 100644 --- a/arch/arm/boot/dts/sun6i-a31s-primo81.dts +++ b/arch/arm/boot/dts/sun6i-a31s-primo81.dts | |||
@@ -83,6 +83,7 @@ | |||
83 | reg = <0x5d>; | 83 | reg = <0x5d>; |
84 | interrupt-parent = <&pio>; | 84 | interrupt-parent = <&pio>; |
85 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>; /* PA3 */ | 85 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>; /* PA3 */ |
86 | touchscreen-swapped-x-y; | ||
86 | }; | 87 | }; |
87 | }; | 88 | }; |
88 | 89 | ||
diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi index 40c23a0b7cfc..ec1aa64ded68 100644 --- a/arch/arm/boot/dts/tegra124-nyan.dtsi +++ b/arch/arm/boot/dts/tegra124-nyan.dtsi | |||
@@ -399,7 +399,7 @@ | |||
399 | 399 | ||
400 | /* CPU DFLL clock */ | 400 | /* CPU DFLL clock */ |
401 | clock@0,70110000 { | 401 | clock@0,70110000 { |
402 | status = "okay"; | 402 | status = "disabled"; |
403 | vdd-cpu-supply = <&vdd_cpu>; | 403 | vdd-cpu-supply = <&vdd_cpu>; |
404 | nvidia,i2c-fs-rate = <400000>; | 404 | nvidia,i2c-fs-rate = <400000>; |
405 | }; | 405 | }; |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 4b4371db5799..0517f0c1581a 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -65,6 +65,8 @@ config SOC_AM43XX | |||
65 | select MACH_OMAP_GENERIC | 65 | select MACH_OMAP_GENERIC |
66 | select MIGHT_HAVE_CACHE_L2X0 | 66 | select MIGHT_HAVE_CACHE_L2X0 |
67 | select HAVE_ARM_SCU | 67 | select HAVE_ARM_SCU |
68 | select GENERIC_CLOCKEVENTS_BROADCAST | ||
69 | select HAVE_ARM_TWD | ||
68 | 70 | ||
69 | config SOC_DRA7XX | 71 | config SOC_DRA7XX |
70 | bool "TI DRA7XX" | 72 | bool "TI DRA7XX" |
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index b18ebbefae09..f86692dbcfd5 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -320,6 +320,12 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer, | |||
320 | return r; | 320 | return r; |
321 | } | 321 | } |
322 | 322 | ||
323 | #if !defined(CONFIG_SMP) && defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST) | ||
324 | void tick_broadcast(const struct cpumask *mask) | ||
325 | { | ||
326 | } | ||
327 | #endif | ||
328 | |||
323 | static void __init omap2_gp_clockevent_init(int gptimer_id, | 329 | static void __init omap2_gp_clockevent_init(int gptimer_id, |
324 | const char *fck_source, | 330 | const char *fck_source, |
325 | const char *property) | 331 | const char *property) |
diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c index 846bc29c157d..25996e256110 100644 --- a/drivers/bus/sunxi-rsb.c +++ b/drivers/bus/sunxi-rsb.c | |||
@@ -342,13 +342,13 @@ static int sunxi_rsb_read(struct sunxi_rsb *rsb, u8 rtaddr, u8 addr, | |||
342 | 342 | ||
343 | ret = _sunxi_rsb_run_xfer(rsb); | 343 | ret = _sunxi_rsb_run_xfer(rsb); |
344 | if (ret) | 344 | if (ret) |
345 | goto out; | 345 | goto unlock; |
346 | 346 | ||
347 | *buf = readl(rsb->regs + RSB_DATA); | 347 | *buf = readl(rsb->regs + RSB_DATA); |
348 | 348 | ||
349 | unlock: | ||
349 | mutex_unlock(&rsb->lock); | 350 | mutex_unlock(&rsb->lock); |
350 | 351 | ||
351 | out: | ||
352 | return ret; | 352 | return ret; |
353 | } | 353 | } |
354 | 354 | ||
@@ -527,9 +527,9 @@ static int sunxi_rsb_init_device_mode(struct sunxi_rsb *rsb) | |||
527 | */ | 527 | */ |
528 | 528 | ||
529 | static const struct sunxi_rsb_addr_map sunxi_rsb_addr_maps[] = { | 529 | static const struct sunxi_rsb_addr_map sunxi_rsb_addr_maps[] = { |
530 | { 0x3e3, 0x2d }, /* Primary PMIC: AXP223, AXP809, AXP81X, ... */ | 530 | { 0x3a3, 0x2d }, /* Primary PMIC: AXP223, AXP809, AXP81X, ... */ |
531 | { 0x745, 0x3a }, /* Secondary PMIC: AXP806, ... */ | 531 | { 0x745, 0x3a }, /* Secondary PMIC: AXP806, ... */ |
532 | { 0xe89, 0x45 }, /* Peripheral IC: AC100, ... */ | 532 | { 0xe89, 0x4e }, /* Peripheral IC: AC100, ... */ |
533 | }; | 533 | }; |
534 | 534 | ||
535 | static u8 sunxi_rsb_get_rtaddr(u16 hwaddr) | 535 | static u8 sunxi_rsb_get_rtaddr(u16 hwaddr) |
diff --git a/drivers/memory/fsl_ifc.c b/drivers/memory/fsl_ifc.c index e87459f6d686..acd1460cf787 100644 --- a/drivers/memory/fsl_ifc.c +++ b/drivers/memory/fsl_ifc.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/compiler.h> | 24 | #include <linux/compiler.h> |
25 | #include <linux/sched.h> | ||
25 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
26 | #include <linux/types.h> | 27 | #include <linux/types.h> |
27 | #include <linux/slab.h> | 28 | #include <linux/slab.h> |