diff options
author | David Daney <ddaney@caviumnetworks.com> | 2009-01-02 08:49:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-02 13:19:43 -0500 |
commit | 7d6a07d123b62bf4fa71867420c23da3ca36c995 (patch) | |
tree | ccb554b8bf86b9cf1b4f6bcd88745e0c5cb1793e /include | |
parent | b430428a188e8a434325e251d0704af4b88b4711 (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.h | 2 | ||||
-rw-r--r-- | include/linux/serial_core.h | 2 |
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 */ |