aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-04-10 17:10:53 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-18 18:07:53 -0400
commitbf03f65b7967df5807ddef7b99f8a41d4c94fc70 (patch)
tree558ae56db6ddedae03eee1bc569321d8ab571d0a /arch
parent7c77c8decfd14a611ddcba071782a9520e4bb3f8 (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')
-rw-r--r--arch/arm/mach-tegra/board-harmony.c2
-rw-r--r--arch/arm/mach-tegra/board-paz00.c3
-rw-r--r--arch/arm/mach-tegra/board-seaboard.c2
-rw-r--r--arch/arm/mach-tegra/board-trimslice.c2
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 c00aadb01e0..222182e0022 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 330afdfa247..d0735c70d68 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 d669847f048..5b687b8258c 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 cd52820a3e3..f7358586b52 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,