From 4e49b05b434a565c3cfde98bd1ec09817115551d Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Mon, 10 Jan 2011 16:20:10 +0300 Subject: [PATCH] 8250-serial: Use linux/serial-reg.h with predefined constants Signed-off-by: Cyrill Gorcunov --- 8250-serial.c | 87 ++++++++++++--------------------------------------- 1 file changed, 20 insertions(+), 67 deletions(-) diff --git a/8250-serial.c b/8250-serial.c index 913ef8e..c612cc6 100644 --- a/8250-serial.c +++ b/8250-serial.c @@ -4,58 +4,11 @@ #include "kvm/util.h" #include "kvm/kvm.h" +#include + #include #include -/* Transmitter holding register */ -#define THR 0 - -/* Receive buffer register */ -#define RBR 0 - -/* Divisor latch low byte */ -#define DLL 0 - -/* Divisor latch high byte */ -#define DLM 1 - -/* Interrupt enable register */ -#define IER 1 - -#define UART_IER_RDI 0x01 -#define UART_IER_THRI 0x02 - -/* Interrupt identification register */ -#define IIR 2 - -#define UART_IIR_NO_INT 0x01 -#define UART_IIR_THRI 0x02 - -/* 16550 FIFO Control Register */ -#define FCR 2 - -/* Line control register */ -#define LCR 3 - -#define UART_LCR_DLAB 0x80 - -/* Modem control register */ -#define MCR 4 - -/* Line status register */ -#define LSR 5 - -#define UART_LSR_DR 0x01 -#define UART_LSR_THRE 0x20 - -/* Modem status register */ -#define MSR 6 - -#define UART_MSR_CTS 0x10 - -/* Scratch register */ -#define SCR 7 - struct serial8250_device { uint16_t iobase; uint8_t irq; @@ -124,16 +77,16 @@ static bool serial8250_out(struct kvm *self, uint16_t port, void *data, int size if (device.lcr & UART_LCR_DLAB) { switch (offset) { - case DLL: + case UART_DLL: device.dll = ioport__read8(data); break; - case DLM: + case UART_DLM: device.dlm = ioport__read8(data); break; - case FCR: + case UART_FCR: device.fcr = ioport__read8(data); break; - case LCR: + case UART_LCR: device.lcr = ioport__read8(data); break; default: @@ -141,7 +94,7 @@ static bool serial8250_out(struct kvm *self, uint16_t port, void *data, int size } } else { switch (offset) { - case THR: { + case UART_TX: { char *p = data; int i; @@ -156,19 +109,19 @@ static bool serial8250_out(struct kvm *self, uint16_t port, void *data, int size break; } - case IER: + case UART_IER: device.ier = ioport__read8(data); break; - case FCR: + case UART_FCR: device.fcr = ioport__read8(data); break; - case LCR: + case UART_LCR: device.lcr = ioport__read8(data); break; - case MCR: + case UART_MCR: device.mcr = ioport__read8(data); break; - case SCR: + case UART_SCR: device.scr = ioport__read8(data); break; default: @@ -187,7 +140,7 @@ static bool serial8250_in(struct kvm *self, uint16_t port, void *data, int size, return false; switch (offset) { - case THR: + case UART_TX: if (device.lsr & UART_LSR_DR) { device.lsr &= ~UART_LSR_DR; ioport__write8(data, device.thr); @@ -196,25 +149,25 @@ static bool serial8250_in(struct kvm *self, uint16_t port, void *data, int size, kvm__irq_line(self, device.irq, 0); } break; - case IER: + case UART_IER: ioport__write8(data, device.ier); break; - case IIR: + case UART_IIR: ioport__write8(data, device.iir); break; - case LCR: + case UART_LCR: ioport__write8(data, device.lcr); break; - case MCR: + case UART_MCR: ioport__write8(data, device.mcr); break; - case LSR: + case UART_LSR: ioport__write8(data, device.lsr); break; - case MSR: + case UART_MSR: ioport__write8(data, UART_MSR_CTS); break; - case SCR: + case UART_SCR: ioport__write8(data, device.scr); break; default: