diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 19:55:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 19:55:57 -0400 |
commit | cb1595563880a81dab6eab9a5ecb4520d2e76077 (patch) | |
tree | 042907fc859287a40a454d57c034015742e38cbf /arch | |
parent | c12e69c6aaf785fd307d05cb6f36ca0e7577ead7 (diff) | |
parent | 3a13884abea08a5043b98d9374486ec859d1e03a (diff) |
Merge tag 'tty-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver update from Greg KH:
"Here's the big tty/serial driver update for 3.15-rc1.
Nothing major, a number of serial driver updates and a few tty core
fixes as well.
All have been in linux-next for a while"
* tag 'tty-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (71 commits)
tty/serial: omap: empty the RX FIFO at the end of half-duplex TX
tty/serial: omap: fix RX interrupt enable/disable in half-duplex TX
serial: sh-sci: Neaten dev_<level> uses
serial: sh-sci: Replace hardcoded 3 by UART_PM_STATE_OFF
serial: sh-sci: Add more register documentation
serial: sh-sci: Remove useless casts
serial: sh-sci: Replace printk() by pr_*()
serial_core: Avoid NULL pointer dereference in uart_close()
serial_core: Get a reference for port->tty in uart_remove_one_port()
serial: clps711x: Give a chance to perform useful tasks during wait loop
serial_core: Grammar s/ports/port's/
serial_core: Spelling s/contro/control/
serial: efm32: properly namespace location property
serial: max310x: Add missing #include <linux/uaccess.h>
synclink: fix info leak in ioctl
serial: 8250: Clean up the locking for -rt
serial: 8250_pci: change BayTrail default uartclk
serial: 8250_pci: more BayTrail error-free bauds
serial: sh-sci: Add missing call to uart_remove_one_port() in failure path
serial_core: Unregister console in uart_remove_one_port()
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/atlas6.dtsi | 17 | ||||
-rw-r--r-- | arch/arm/boot/dts/prima2.dtsi | 20 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31moboard.c | 21 |
3 files changed, 24 insertions, 34 deletions
diff --git a/arch/arm/boot/dts/atlas6.dtsi b/arch/arm/boot/dts/atlas6.dtsi index f8674bcc4489..0c81dc945aed 100644 --- a/arch/arm/boot/dts/atlas6.dtsi +++ b/arch/arm/boot/dts/atlas6.dtsi | |||
@@ -217,8 +217,8 @@ | |||
217 | interrupts = <17>; | 217 | interrupts = <17>; |
218 | fifosize = <128>; | 218 | fifosize = <128>; |
219 | clocks = <&clks 13>; | 219 | clocks = <&clks 13>; |
220 | sirf,uart-dma-rx-channel = <21>; | 220 | dmas = <&dmac1 5>, <&dmac0 2>; |
221 | sirf,uart-dma-tx-channel = <2>; | 221 | dma-names = "rx", "tx"; |
222 | }; | 222 | }; |
223 | 223 | ||
224 | uart1: uart@b0060000 { | 224 | uart1: uart@b0060000 { |
@@ -228,6 +228,7 @@ | |||
228 | interrupts = <18>; | 228 | interrupts = <18>; |
229 | fifosize = <32>; | 229 | fifosize = <32>; |
230 | clocks = <&clks 14>; | 230 | clocks = <&clks 14>; |
231 | dma-names = "no-rx", "no-tx"; | ||
231 | }; | 232 | }; |
232 | 233 | ||
233 | uart2: uart@b0070000 { | 234 | uart2: uart@b0070000 { |
@@ -237,8 +238,8 @@ | |||
237 | interrupts = <19>; | 238 | interrupts = <19>; |
238 | fifosize = <128>; | 239 | fifosize = <128>; |
239 | clocks = <&clks 15>; | 240 | clocks = <&clks 15>; |
240 | sirf,uart-dma-rx-channel = <6>; | 241 | dmas = <&dmac0 6>, <&dmac0 7>; |
241 | sirf,uart-dma-tx-channel = <7>; | 242 | dma-names = "rx", "tx"; |
242 | }; | 243 | }; |
243 | 244 | ||
244 | usp0: usp@b0080000 { | 245 | usp0: usp@b0080000 { |
@@ -248,8 +249,8 @@ | |||
248 | interrupts = <20>; | 249 | interrupts = <20>; |
249 | fifosize = <128>; | 250 | fifosize = <128>; |
250 | clocks = <&clks 28>; | 251 | clocks = <&clks 28>; |
251 | sirf,usp-dma-rx-channel = <17>; | 252 | dmas = <&dmac1 1>, <&dmac1 2>; |
252 | sirf,usp-dma-tx-channel = <18>; | 253 | dma-names = "rx", "tx"; |
253 | }; | 254 | }; |
254 | 255 | ||
255 | usp1: usp@b0090000 { | 256 | usp1: usp@b0090000 { |
@@ -259,8 +260,8 @@ | |||
259 | interrupts = <21>; | 260 | interrupts = <21>; |
260 | fifosize = <128>; | 261 | fifosize = <128>; |
261 | clocks = <&clks 29>; | 262 | clocks = <&clks 29>; |
262 | sirf,usp-dma-rx-channel = <14>; | 263 | dmas = <&dmac0 14>, <&dmac0 15>; |
263 | sirf,usp-dma-tx-channel = <15>; | 264 | dma-names = "rx", "tx"; |
264 | }; | 265 | }; |
265 | 266 | ||
266 | dmac0: dma-controller@b00b0000 { | 267 | dmac0: dma-controller@b00b0000 { |
diff --git a/arch/arm/boot/dts/prima2.dtsi b/arch/arm/boot/dts/prima2.dtsi index 0e219932d7cc..8582ae41a583 100644 --- a/arch/arm/boot/dts/prima2.dtsi +++ b/arch/arm/boot/dts/prima2.dtsi | |||
@@ -223,8 +223,8 @@ | |||
223 | interrupts = <17>; | 223 | interrupts = <17>; |
224 | fifosize = <128>; | 224 | fifosize = <128>; |
225 | clocks = <&clks 13>; | 225 | clocks = <&clks 13>; |
226 | sirf,uart-dma-rx-channel = <21>; | 226 | dmas = <&dmac1 5>, <&dmac0 2>; |
227 | sirf,uart-dma-tx-channel = <2>; | 227 | dma-names = "rx", "tx"; |
228 | }; | 228 | }; |
229 | 229 | ||
230 | uart1: uart@b0060000 { | 230 | uart1: uart@b0060000 { |
@@ -243,8 +243,8 @@ | |||
243 | interrupts = <19>; | 243 | interrupts = <19>; |
244 | fifosize = <128>; | 244 | fifosize = <128>; |
245 | clocks = <&clks 15>; | 245 | clocks = <&clks 15>; |
246 | sirf,uart-dma-rx-channel = <6>; | 246 | dmas = <&dmac0 6>, <&dmac0 7>; |
247 | sirf,uart-dma-tx-channel = <7>; | 247 | dma-names = "rx", "tx"; |
248 | }; | 248 | }; |
249 | 249 | ||
250 | usp0: usp@b0080000 { | 250 | usp0: usp@b0080000 { |
@@ -254,8 +254,8 @@ | |||
254 | interrupts = <20>; | 254 | interrupts = <20>; |
255 | fifosize = <128>; | 255 | fifosize = <128>; |
256 | clocks = <&clks 28>; | 256 | clocks = <&clks 28>; |
257 | sirf,usp-dma-rx-channel = <17>; | 257 | dmas = <&dmac1 1>, <&dmac1 2>; |
258 | sirf,usp-dma-tx-channel = <18>; | 258 | dma-names = "rx", "tx"; |
259 | }; | 259 | }; |
260 | 260 | ||
261 | usp1: usp@b0090000 { | 261 | usp1: usp@b0090000 { |
@@ -265,8 +265,8 @@ | |||
265 | interrupts = <21>; | 265 | interrupts = <21>; |
266 | fifosize = <128>; | 266 | fifosize = <128>; |
267 | clocks = <&clks 29>; | 267 | clocks = <&clks 29>; |
268 | sirf,usp-dma-rx-channel = <14>; | 268 | dmas = <&dmac0 14>, <&dmac0 15>; |
269 | sirf,usp-dma-tx-channel = <15>; | 269 | dma-names = "rx", "tx"; |
270 | }; | 270 | }; |
271 | 271 | ||
272 | usp2: usp@b00a0000 { | 272 | usp2: usp@b00a0000 { |
@@ -276,8 +276,8 @@ | |||
276 | interrupts = <22>; | 276 | interrupts = <22>; |
277 | fifosize = <128>; | 277 | fifosize = <128>; |
278 | clocks = <&clks 30>; | 278 | clocks = <&clks 30>; |
279 | sirf,usp-dma-rx-channel = <10>; | 279 | dmas = <&dmac0 10>, <&dmac0 11>; |
280 | sirf,usp-dma-tx-channel = <11>; | 280 | dma-names = "rx", "tx"; |
281 | }; | 281 | }; |
282 | 282 | ||
283 | dmac0: dma-controller@b00b0000 { | 283 | dmac0: dma-controller@b00b0000 { |
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index b3738e616f19..8f45afe785f8 100644 --- a/arch/arm/mach-imx/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -128,27 +128,15 @@ static struct platform_device mx31moboard_flash = { | |||
128 | .num_resources = 1, | 128 | .num_resources = 1, |
129 | }; | 129 | }; |
130 | 130 | ||
131 | static int moboard_uart0_init(struct platform_device *pdev) | 131 | static void __init moboard_uart0_init(void) |
132 | { | 132 | { |
133 | int ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack"); | 133 | if (!gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack")) { |
134 | if (ret) | 134 | gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CTS1), 0); |
135 | return ret; | ||
136 | |||
137 | ret = gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CTS1), 0); | ||
138 | if (ret) | ||
139 | gpio_free(IOMUX_TO_GPIO(MX31_PIN_CTS1)); | 135 | gpio_free(IOMUX_TO_GPIO(MX31_PIN_CTS1)); |
140 | 136 | } | |
141 | return ret; | ||
142 | } | ||
143 | |||
144 | static void moboard_uart0_exit(struct platform_device *pdev) | ||
145 | { | ||
146 | gpio_free(IOMUX_TO_GPIO(MX31_PIN_CTS1)); | ||
147 | } | 137 | } |
148 | 138 | ||
149 | static const struct imxuart_platform_data uart0_pdata __initconst = { | 139 | static const struct imxuart_platform_data uart0_pdata __initconst = { |
150 | .init = moboard_uart0_init, | ||
151 | .exit = moboard_uart0_exit, | ||
152 | }; | 140 | }; |
153 | 141 | ||
154 | static const struct imxuart_platform_data uart4_pdata __initconst = { | 142 | static const struct imxuart_platform_data uart4_pdata __initconst = { |
@@ -543,6 +531,7 @@ static void __init mx31moboard_init(void) | |||
543 | 531 | ||
544 | imx31_add_imx2_wdt(); | 532 | imx31_add_imx2_wdt(); |
545 | 533 | ||
534 | moboard_uart0_init(); | ||
546 | imx31_add_imx_uart0(&uart0_pdata); | 535 | imx31_add_imx_uart0(&uart0_pdata); |
547 | imx31_add_imx_uart4(&uart4_pdata); | 536 | imx31_add_imx_uart4(&uart4_pdata); |
548 | 537 | ||