mirror of https://gitee.com/openkylin/linux.git
tty: serial: 8250: Add generic port init macro
This patch removes redundant 8250 port initialization macros and replaces them by a single generic base-macro, which is specialized as needed. Signed-off-by: Anton Würfel <anton.wuerfel@fau.de> Signed-off-by: Phillip Raffeck <phillip.raffeck@fau.de> Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: linux-kernel@i4.cs.fau.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b3d67936bf
commit
b3bd666807
|
@ -92,6 +92,18 @@ struct serial8250_config {
|
|||
#define SERIAL8250_SHARE_IRQS 0
|
||||
#endif
|
||||
|
||||
#define SERIAL8250_PORT_FLAGS(_base, _irq, _flags) \
|
||||
{ \
|
||||
.iobase = _base, \
|
||||
.irq = _irq, \
|
||||
.uartclk = 1843200, \
|
||||
.iotype = UPIO_PORT, \
|
||||
.flags = UPF_BOOT_AUTOCONF | (_flags), \
|
||||
}
|
||||
|
||||
#define SERIAL8250_PORT(_base, _irq) SERIAL8250_PORT_FLAGS(_base, _irq, 0)
|
||||
|
||||
|
||||
static inline int serial_in(struct uart_8250_port *up, int offset)
|
||||
{
|
||||
return up->port.serial_in(&up->port, offset);
|
||||
|
|
|
@ -10,18 +10,11 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
|
||||
#define PORT(_base,_irq) \
|
||||
{ \
|
||||
.iobase = _base, \
|
||||
.irq = _irq, \
|
||||
.uartclk = 1843200, \
|
||||
.iotype = UPIO_PORT, \
|
||||
.flags = UPF_BOOT_AUTOCONF, \
|
||||
}
|
||||
#include "8250.h"
|
||||
|
||||
static struct plat_serial8250_port accent_data[] = {
|
||||
PORT(0x330, 4),
|
||||
PORT(0x338, 4),
|
||||
SERIAL8250_PORT(0x330, 4),
|
||||
SERIAL8250_PORT(0x338, 4),
|
||||
{ },
|
||||
};
|
||||
|
||||
|
|
|
@ -10,32 +10,25 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
|
||||
#define PORT(_base,_irq) \
|
||||
{ \
|
||||
.iobase = _base, \
|
||||
.irq = _irq, \
|
||||
.uartclk = 1843200, \
|
||||
.iotype = UPIO_PORT, \
|
||||
.flags = UPF_BOOT_AUTOCONF, \
|
||||
}
|
||||
#include "8250.h"
|
||||
|
||||
static struct plat_serial8250_port boca_data[] = {
|
||||
PORT(0x100, 12),
|
||||
PORT(0x108, 12),
|
||||
PORT(0x110, 12),
|
||||
PORT(0x118, 12),
|
||||
PORT(0x120, 12),
|
||||
PORT(0x128, 12),
|
||||
PORT(0x130, 12),
|
||||
PORT(0x138, 12),
|
||||
PORT(0x140, 12),
|
||||
PORT(0x148, 12),
|
||||
PORT(0x150, 12),
|
||||
PORT(0x158, 12),
|
||||
PORT(0x160, 12),
|
||||
PORT(0x168, 12),
|
||||
PORT(0x170, 12),
|
||||
PORT(0x178, 12),
|
||||
SERIAL8250_PORT(0x100, 12),
|
||||
SERIAL8250_PORT(0x108, 12),
|
||||
SERIAL8250_PORT(0x110, 12),
|
||||
SERIAL8250_PORT(0x118, 12),
|
||||
SERIAL8250_PORT(0x120, 12),
|
||||
SERIAL8250_PORT(0x128, 12),
|
||||
SERIAL8250_PORT(0x130, 12),
|
||||
SERIAL8250_PORT(0x138, 12),
|
||||
SERIAL8250_PORT(0x140, 12),
|
||||
SERIAL8250_PORT(0x148, 12),
|
||||
SERIAL8250_PORT(0x150, 12),
|
||||
SERIAL8250_PORT(0x158, 12),
|
||||
SERIAL8250_PORT(0x160, 12),
|
||||
SERIAL8250_PORT(0x168, 12),
|
||||
SERIAL8250_PORT(0x170, 12),
|
||||
SERIAL8250_PORT(0x178, 12),
|
||||
{ },
|
||||
};
|
||||
|
||||
|
|
|
@ -13,20 +13,13 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
|
||||
#define PORT(_base,_irq) \
|
||||
{ \
|
||||
.iobase = _base, \
|
||||
.irq = _irq, \
|
||||
.uartclk = 1843200, \
|
||||
.iotype = UPIO_PORT, \
|
||||
.flags = UPF_BOOT_AUTOCONF, \
|
||||
}
|
||||
#include "8250.h"
|
||||
|
||||
static struct plat_serial8250_port exar_data[] = {
|
||||
PORT(0x100, 5),
|
||||
PORT(0x108, 5),
|
||||
PORT(0x110, 5),
|
||||
PORT(0x118, 5),
|
||||
SERIAL8250_PORT(0x100, 5),
|
||||
SERIAL8250_PORT(0x108, 5),
|
||||
SERIAL8250_PORT(0x110, 5),
|
||||
SERIAL8250_PORT(0x118, 5),
|
||||
{ },
|
||||
};
|
||||
|
||||
|
|
|
@ -10,24 +10,20 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
|
||||
#define PORT(_base,_irq) \
|
||||
{ \
|
||||
.iobase = _base, \
|
||||
.irq = _irq, \
|
||||
.uartclk = 1843200, \
|
||||
.iotype = UPIO_PORT, \
|
||||
.flags = UPF_BOOT_AUTOCONF | UPF_FOURPORT, \
|
||||
}
|
||||
#include "8250.h"
|
||||
|
||||
#define SERIAL8250_FOURPORT(_base, _irq) \
|
||||
SERIAL8250_PORT_FLAGS(_base, _irq, UPF_FOURPORT)
|
||||
|
||||
static struct plat_serial8250_port fourport_data[] = {
|
||||
PORT(0x1a0, 9),
|
||||
PORT(0x1a8, 9),
|
||||
PORT(0x1b0, 9),
|
||||
PORT(0x1b8, 9),
|
||||
PORT(0x2a0, 5),
|
||||
PORT(0x2a8, 5),
|
||||
PORT(0x2b0, 5),
|
||||
PORT(0x2b8, 5),
|
||||
SERIAL8250_FOURPORT(0x1a0, 9),
|
||||
SERIAL8250_FOURPORT(0x1a8, 9),
|
||||
SERIAL8250_FOURPORT(0x1b0, 9),
|
||||
SERIAL8250_FOURPORT(0x1b8, 9),
|
||||
SERIAL8250_FOURPORT(0x2a0, 5),
|
||||
SERIAL8250_FOURPORT(0x2a8, 5),
|
||||
SERIAL8250_FOURPORT(0x2b0, 5),
|
||||
SERIAL8250_FOURPORT(0x2b8, 5),
|
||||
{ },
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue