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 /include | |
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 'include')
-rw-r--r-- | include/driver.h | 2 | ||||
-rw-r--r-- | include/ns16550.h | 11 |
2 files changed, 2 insertions, 11 deletions
diff --git a/include/driver.h b/include/driver.h index 7c7d38fc14..ffc0cbaf77 100644 --- a/include/driver.h +++ b/include/driver.h @@ -278,7 +278,7 @@ static inline struct device_d *add_ns16550_device(int id, resource_size_t start, resource_size_t size, int flags, struct NS16550_plat *pdata) { return add_generic_device("ns16550_serial", id, NULL, start, size, - IORESOURCE_MEM | flags, pdata); + flags, pdata); } #ifdef CONFIG_DRIVER_NET_DM9K diff --git a/include/ns16550.h b/include/ns16550.h index 36aa5ffae5..876bb0427f 100644 --- a/include/ns16550.h +++ b/include/ns16550.h @@ -33,18 +33,9 @@ struct NS16550_plat { /** Clock speed */ unsigned int clock; - /** - * register read access capability - */ - unsigned int (*reg_read) (unsigned long base, unsigned char reg_offset); - /** - * register write access capability - */ - void (*reg_write) (unsigned int val, unsigned long base, - unsigned char reg_offset); - int shift; unsigned int flags; + int mmio; #define NS16650_FLAG_DISABLE_FIFO 1 }; |