diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-04-10 17:10:53 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-18 18:07:53 -0400 |
commit | bf03f65b7967df5807ddef7b99f8a41d4c94fc70 (patch) | |
tree | 558ae56db6ddedae03eee1bc569321d8ab571d0a /arch/arm/mach-tegra | |
parent | 7c77c8decfd14a611ddcba071782a9520e4bb3f8 (diff) |
tegra, serial8250: add ->handle_break() uart_port op
The "KT" serial port has another use case for a "received break" quirk,
so before adding another special case to the 8250 core take this
opportunity to push such quirks out of the core and into a uart_port op.
Stephen says:
"If the callback function is to no longer live in 8250.c itself,
arch/arm/mach-tegra/devices.c isn't logically a good place to put it,
and that file will be going away once we get rid of all the board files
and move solely to device tree."
...so since 8250_pci.c houses all the quirks for pci serial devices this
quirk is similarly housed in of_serial.c. Once the open firmware
conversion completes the infrastructure details
(include/linux/of_serial.h, and the export) can all be removed to make
this self contained to of_serial.c.
Cc: Nhan H Mai <nhan.h.mai@intel.com>
Cc: Colin Cross <ccross@android.com>
Cc: Olof Johansson <olof@lixom.net>
[stephen: kill CONFIG_SERIAL_TEGRA in favor just using CONFIG_ARCH_TEGRA]
Cc: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sudhakar Mamillapalli <sudhakar@fb.com>
Reported-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r-- | arch/arm/mach-tegra/board-harmony.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-paz00.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-seaboard.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-trimslice.c | 2 |
4 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c index c00aadb01e09..222182e00226 100644 --- a/arch/arm/mach-tegra/board-harmony.c +++ b/arch/arm/mach-tegra/board-harmony.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/serial_8250.h> | 21 | #include <linux/serial_8250.h> |
22 | #include <linux/of_serial.h> | ||
22 | #include <linux/clk.h> | 23 | #include <linux/clk.h> |
23 | #include <linux/dma-mapping.h> | 24 | #include <linux/dma-mapping.h> |
24 | #include <linux/pda_power.h> | 25 | #include <linux/pda_power.h> |
@@ -52,6 +53,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
52 | .irq = INT_UARTD, | 53 | .irq = INT_UARTD, |
53 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 54 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
54 | .type = PORT_TEGRA, | 55 | .type = PORT_TEGRA, |
56 | .handle_break = tegra_serial_handle_break, | ||
55 | .iotype = UPIO_MEM, | 57 | .iotype = UPIO_MEM, |
56 | .regshift = 2, | 58 | .regshift = 2, |
57 | .uartclk = 216000000, | 59 | .uartclk = 216000000, |
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c index 330afdfa2475..d0735c70d688 100644 --- a/arch/arm/mach-tegra/board-paz00.c +++ b/arch/arm/mach-tegra/board-paz00.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
23 | #include <linux/serial_8250.h> | 23 | #include <linux/serial_8250.h> |
24 | #include <linux/of_serial.h> | ||
24 | #include <linux/clk.h> | 25 | #include <linux/clk.h> |
25 | #include <linux/dma-mapping.h> | 26 | #include <linux/dma-mapping.h> |
26 | #include <linux/gpio_keys.h> | 27 | #include <linux/gpio_keys.h> |
@@ -55,6 +56,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
55 | .irq = INT_UARTA, | 56 | .irq = INT_UARTA, |
56 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 57 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
57 | .type = PORT_TEGRA, | 58 | .type = PORT_TEGRA, |
59 | .handle_break = tegra_serial_handle_break, | ||
58 | .iotype = UPIO_MEM, | 60 | .iotype = UPIO_MEM, |
59 | .regshift = 2, | 61 | .regshift = 2, |
60 | .uartclk = 216000000, | 62 | .uartclk = 216000000, |
@@ -65,6 +67,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
65 | .irq = INT_UARTC, | 67 | .irq = INT_UARTC, |
66 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 68 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
67 | .type = PORT_TEGRA, | 69 | .type = PORT_TEGRA, |
70 | .handle_break = tegra_serial_handle_break, | ||
68 | .iotype = UPIO_MEM, | 71 | .iotype = UPIO_MEM, |
69 | .regshift = 2, | 72 | .regshift = 2, |
70 | .uartclk = 216000000, | 73 | .uartclk = 216000000, |
diff --git a/arch/arm/mach-tegra/board-seaboard.c b/arch/arm/mach-tegra/board-seaboard.c index d669847f0485..5b687b8258c0 100644 --- a/arch/arm/mach-tegra/board-seaboard.c +++ b/arch/arm/mach-tegra/board-seaboard.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
20 | #include <linux/serial_8250.h> | 20 | #include <linux/serial_8250.h> |
21 | #include <linux/of_serial.h> | ||
21 | #include <linux/i2c.h> | 22 | #include <linux/i2c.h> |
22 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
23 | #include <linux/input.h> | 24 | #include <linux/input.h> |
@@ -47,6 +48,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
47 | /* Memory and IRQ filled in before registration */ | 48 | /* Memory and IRQ filled in before registration */ |
48 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 49 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
49 | .type = PORT_TEGRA, | 50 | .type = PORT_TEGRA, |
51 | .handle_break = tegra_serial_handle_break, | ||
50 | .iotype = UPIO_MEM, | 52 | .iotype = UPIO_MEM, |
51 | .regshift = 2, | 53 | .regshift = 2, |
52 | .uartclk = 216000000, | 54 | .uartclk = 216000000, |
diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c index cd52820a3e37..f7358586b523 100644 --- a/arch/arm/mach-tegra/board-trimslice.c +++ b/arch/arm/mach-tegra/board-trimslice.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/serial_8250.h> | 24 | #include <linux/serial_8250.h> |
25 | #include <linux/of_serial.h> | ||
25 | #include <linux/io.h> | 26 | #include <linux/io.h> |
26 | #include <linux/i2c.h> | 27 | #include <linux/i2c.h> |
27 | #include <linux/gpio.h> | 28 | #include <linux/gpio.h> |
@@ -48,6 +49,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
48 | .irq = INT_UARTA, | 49 | .irq = INT_UARTA, |
49 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 50 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
50 | .type = PORT_TEGRA, | 51 | .type = PORT_TEGRA, |
52 | .handle_break = tegra_serial_handle_break, | ||
51 | .iotype = UPIO_MEM, | 53 | .iotype = UPIO_MEM, |
52 | .regshift = 2, | 54 | .regshift = 2, |
53 | .uartclk = 216000000, | 55 | .uartclk = 216000000, |