| From koba@kmckk.co.jp Wed Oct 3 04:27:25 2012 |
| From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> |
| Date: Wed, 3 Oct 2012 20:22:59 +0900 |
| Subject: [PATCH 07/26] serial8250: Clean up default map and dl code |
| To: greg@kroah.com |
| Cc: ltsi-dev@lists.linuxfoundation.org, horms@verge.net.au, damm@opensource.se, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Tetsuyuki Kobayashi <koba@kmckk.co.jp> |
| Message-ID: <1349263398-13152-8-git-send-email-koba@kmckk.co.jp> |
| |
| |
| From: Magnus Damm <damm@opensource.se> |
| |
| Get rid of unused functions and macros now when |
| Alchemy and RM9K are converted over to callbacks. |
| |
| Signed-off-by: Magnus Damm <damm@opensource.se> |
| Acked-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: Alan Cox <alan@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit e8155629ff19e05722ba057d1521baec270d780e) |
| |
| Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> |
| --- |
| drivers/tty/serial/8250/8250.c | 38 ++++++++++++-------------------------- |
| 1 file changed, 12 insertions(+), 26 deletions(-) |
| |
| diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c |
| index cc398b1..662188d 100644 |
| --- a/drivers/tty/serial/8250/8250.c |
| +++ b/drivers/tty/serial/8250/8250.c |
| @@ -285,28 +285,18 @@ static const struct serial8250_config uart_config[] = { |
| }; |
| |
| /* Uart divisor latch read */ |
| -static int default_dl_read(struct uart_8250_port *up) |
| +static int default_serial_dl_read(struct uart_8250_port *up) |
| { |
| return serial_in(up, UART_DLL) | serial_in(up, UART_DLM) << 8; |
| } |
| |
| /* Uart divisor latch write */ |
| -static void default_dl_write(struct uart_8250_port *up, int value) |
| +static void default_serial_dl_write(struct uart_8250_port *up, int value) |
| { |
| serial_out(up, UART_DLL, value & 0xff); |
| serial_out(up, UART_DLM, value >> 8 & 0xff); |
| } |
| |
| -static int _serial_dl_read(struct uart_8250_port *up) |
| -{ |
| - return default_dl_read(up); |
| -} |
| - |
| -static void _serial_dl_write(struct uart_8250_port *up, int value) |
| -{ |
| - default_dl_write(up, value); |
| -} |
| - |
| #ifdef CONFIG_MIPS_ALCHEMY |
| |
| /* Au1x00 UART hardware has a weird register layout */ |
| @@ -403,57 +393,53 @@ static void rm9k_serial_dl_write(struct uart_8250_port *up, int value) |
| |
| #endif |
| |
| -/* sane hardware needs no mapping */ |
| -#define map_8250_in_reg(up, offset) (offset) |
| -#define map_8250_out_reg(up, offset) (offset) |
| - |
| static unsigned int hub6_serial_in(struct uart_port *p, int offset) |
| { |
| - offset = map_8250_in_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| outb(p->hub6 - 1 + offset, p->iobase); |
| return inb(p->iobase + 1); |
| } |
| |
| static void hub6_serial_out(struct uart_port *p, int offset, int value) |
| { |
| - offset = map_8250_out_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| outb(p->hub6 - 1 + offset, p->iobase); |
| outb(value, p->iobase + 1); |
| } |
| |
| static unsigned int mem_serial_in(struct uart_port *p, int offset) |
| { |
| - offset = map_8250_in_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| return readb(p->membase + offset); |
| } |
| |
| static void mem_serial_out(struct uart_port *p, int offset, int value) |
| { |
| - offset = map_8250_out_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| writeb(value, p->membase + offset); |
| } |
| |
| static void mem32_serial_out(struct uart_port *p, int offset, int value) |
| { |
| - offset = map_8250_out_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| writel(value, p->membase + offset); |
| } |
| |
| static unsigned int mem32_serial_in(struct uart_port *p, int offset) |
| { |
| - offset = map_8250_in_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| return readl(p->membase + offset); |
| } |
| |
| static unsigned int io_serial_in(struct uart_port *p, int offset) |
| { |
| - offset = map_8250_in_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| return inb(p->iobase + offset); |
| } |
| |
| static void io_serial_out(struct uart_port *p, int offset, int value) |
| { |
| - offset = map_8250_out_reg(p, offset) << p->regshift; |
| + offset = offset << p->regshift; |
| outb(value, p->iobase + offset); |
| } |
| |
| @@ -464,8 +450,8 @@ static void set_io_from_upio(struct uart_port *p) |
| struct uart_8250_port *up = |
| container_of(p, struct uart_8250_port, port); |
| |
| - up->dl_read = _serial_dl_read; |
| - up->dl_write = _serial_dl_write; |
| + up->dl_read = default_serial_dl_read; |
| + up->dl_write = default_serial_dl_write; |
| |
| switch (p->iotype) { |
| case UPIO_HUB6: |
| -- |
| 1.7.9.5 |
| |