aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Daney <ddaney@caviumnetworks.com>2009-01-02 08:49:47 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-02 13:19:43 -0500
commit7d6a07d123b62bf4fa71867420c23da3ca36c995 (patch)
treeccb554b8bf86b9cf1b4f6bcd88745e0c5cb1793e /include
parentb430428a188e8a434325e251d0704af4b88b4711 (diff)
8250: Serial driver changes to support future Cavium OCTEON serial patches.
In order to use Cavium OCTEON specific serial i/o drivers, we first patch the 8250 driver to use replaceable I/O functions. Compatible I/O functions are added for existing iotypeS. An added benefit of this change is that it makes it easy to factor some of the existing special cases out to board/SOC specific support code. The alternative is to load up 8250.c with a bunch of OCTEON specific iotype code and bug work-arounds. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/serial_8250.h2
-rw-r--r--include/linux/serial_core.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h
index 3d37c94abbc8..77d83d929f2c 100644
--- a/include/linux/serial_8250.h
+++ b/include/linux/serial_8250.h
@@ -28,6 +28,8 @@ struct plat_serial8250_port {
28 unsigned char iotype; /* UPIO_* */ 28 unsigned char iotype; /* UPIO_* */
29 unsigned char hub6; 29 unsigned char hub6;
30 upf_t flags; /* UPF_* flags */ 30 upf_t flags; /* UPF_* flags */
31 unsigned int (*serial_in)(struct uart_port *, int);
32 void (*serial_out)(struct uart_port *, int, int);
31}; 33};
32 34
33/* 35/*
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 2395969faa04..60061f44f3d8 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -248,6 +248,8 @@ struct uart_port {
248 spinlock_t lock; /* port lock */ 248 spinlock_t lock; /* port lock */
249 unsigned long iobase; /* in/out[bwl] */ 249 unsigned long iobase; /* in/out[bwl] */
250 unsigned char __iomem *membase; /* read/write[bwl] */ 250 unsigned char __iomem *membase; /* read/write[bwl] */
251 unsigned int (*serial_in)(struct uart_port *, int);
252 void (*serial_out)(struct uart_port *, int, int);
251 unsigned int irq; /* irq number */ 253 unsigned int irq; /* irq number */
252 unsigned int uartclk; /* base uart clock */ 254 unsigned int uartclk; /* base uart clock */
253 unsigned int fifosize; /* tx fifo size */ 255 unsigned int fifosize; /* tx fifo size */