diff options
author | Eric Miao <eric.miao@marvell.com> | 2009-01-14 19:12:42 +0800 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2009-03-09 21:22:38 +0800 |
commit | 290a5589ce83540d0aba811c3d15af34aa373533 (patch) | |
tree | 74090c67fd47cab9ec444d25ed9e3b50f828d393 /drivers/serial | |
parent | 0807da5938b2d64fef7f1109fb4014de6392cbf7 (diff) | |
download | op-kernel-dev-290a5589ce83540d0aba811c3d15af34aa373533.zip op-kernel-dev-290a5589ce83540d0aba811c3d15af34aa373533.tar.gz |
[ARM] pxa: remove machine class specific stuffs from serial driver
The only things prevent drivers/serial/pxa.c from being generic enough
are:
1. IER_UUE which can be safely replaced by UART_IER_UUE as defined in
serial_reg.h for PXA
2. __PREG() and FFUART/BTUART/STUART definitions to decide the UART
port name
And removed the un-necessary #include of <mach/...> and <asm/...> headers.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/pxa.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index f6e3b86..a48a8a1 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c @@ -43,13 +43,7 @@ #include <linux/tty_flip.h> #include <linux/serial_core.h> #include <linux/clk.h> - -#include <asm/io.h> -#include <mach/hardware.h> -#include <asm/irq.h> -#include <mach/pxa-regs.h> -#include <mach/regs-uart.h> - +#include <linux/io.h> struct uart_pxa_port { struct uart_port port; @@ -491,7 +485,7 @@ serial_pxa_set_termios(struct uart_port *port, struct ktermios *termios, * Ensure the port will be enabled. * This is required especially for serial console. */ - up->ier |= IER_UUE; + up->ier |= UART_IER_UUE; /* * Update the per-port timeout. @@ -784,19 +778,15 @@ static int serial_pxa_probe(struct platform_device *dev) sport->port.flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF; sport->port.uartclk = clk_get_rate(sport->clk); - /* - * Is it worth keeping this? - */ - if (mmres->start == __PREG(FFUART)) - sport->name = "FFUART"; - else if (mmres->start == __PREG(BTUART)) - sport->name = "BTUART"; - else if (mmres->start == __PREG(STUART)) - sport->name = "STUART"; - else if (mmres->start == __PREG(HWUART)) - sport->name = "HWUART"; - else + switch (dev->id) { + case 0: sport->name = "FFUART"; break; + case 1: sport->name = "BTUART"; break; + case 2: sport->name = "STUART"; break; + case 3: sport->name = "HWUART"; break; + default: sport->name = "???"; + break; + } sport->port.membase = ioremap(mmres->start, mmres->end - mmres->start + 1); if (!sport->port.membase) { |