diff options
author | Michel Stam <m.stam@fugro.nl> | 2014-04-07 12:01:22 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-04-09 19:31:42 +0200 |
commit | 9f556d4b6fc71d548e5c984c416f4f1b7d599d2f (patch) | |
tree | 96adeb2f953a59e7353f441023e17f4d09c7e9cb /arch/x86/boards | |
parent | 940237285ebbdbfb4b341eb248fd77e9546df61e (diff) | |
download | barebox-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.c | 7 |
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; } |