summaryrefslogtreecommitdiffstats
path: root/arch/x86/boards
diff options
context:
space:
mode:
authorMichel Stam <m.stam@fugro.nl>2014-04-07 12:01:22 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-04-09 19:31:42 +0200
commit9f556d4b6fc71d548e5c984c416f4f1b7d599d2f (patch)
tree96adeb2f953a59e7353f441023e17f4d09c7e9cb /arch/x86/boards
parent940237285ebbdbfb4b341eb248fd77e9546df61e (diff)
downloadbarebox-9f556d4b6fc71d548e5c984c416f4f1b7d599d2f.tar.gz
barebox-9f556d4b6fc71d548e5c984c416f4f1b7d599d2f.tar.xz
x86: ns16550: Rework driver to allow for x86 I/O space
The current implementation fakes a memory-mapped I/O device at 0x3f8 and 0x2f8, then uses platform read/write functions to do the actual reading and writing. These platform functions only exist for the x86 platform; better to move the I/O routines into the driver and have the driver request I/O ports using request_ioport_region. Signed-off-by: Michel Stam <michel@reverze.net> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/x86/boards')
-rw-r--r--arch/x86/boards/x86_generic/serial_ns16550.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/boards/x86_generic/serial_ns16550.c b/arch/x86/boards/x86_generic/serial_ns16550.c
index cae61df1d6..3b284f3d3d 100644
--- a/arch/x86/boards/x86_generic/serial_ns16550.c
+++ b/arch/x86/boards/x86_generic/serial_ns16550.c
@@ -30,8 +30,6 @@
static struct NS16550_plat serial_plat = {
.clock = 1843200,
- .reg_read = x86_uart_read,
- .reg_write = x86_uart_write,
};
static int pc_console_init(void)
@@ -40,7 +38,10 @@ static int pc_console_init(void)
barebox_set_hostname("x86");
/* Register the serial port */
- add_ns16550_device(DEVICE_ID_DYNAMIC, 0x3f8, 8, 0, &serial_plat);
+ add_ns16550_device(DEVICE_ID_DYNAMIC, 0x3f8, 8, IORESOURCE_IO,
+ &serial_plat);
+ add_ns16550_device(DEVICE_ID_DYNAMIC, 0x2f8, 8, IORESOURCE_IO,
+ &serial_plat);
return 0;
}