summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_cpu.h
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-09-07 21:51:03 +0000
committermarcel <marcel@FreeBSD.org>2003-09-07 21:51:03 +0000
commit99d0e6c9d5d310d7f4c4558288e881c89b3fdf78 (patch)
tree22e0d3f0111ac1127e824ebbf9c76d4238693f5f /sys/dev/uart/uart_cpu.h
parent49215d6199e1f0cf0b9f639b2113118e61c3180d (diff)
downloadFreeBSD-src-99d0e6c9d5d310d7f4c4558288e881c89b3fdf78.zip
FreeBSD-src-99d0e6c9d5d310d7f4c4558288e881c89b3fdf78.tar.gz
Remove the assumption that a bus_space_handle_t is an I/O address
from the SAB82532 and the Z8530 hardware drivers by introducing uart_cpu_busaddr(). The assumption is not true on pc98 where bus_space_handle_t is a pointer to a structure. The uart_cpu_busaddr() function will return the bus address corresponding the tag and handle given to it by the BAS. WARNING: the intend of the function is STRICTLY to allow hardware drivers to determine which logical channel they control and is NOT to be used for actual I/O. It is therefore EXPLICITLY allowed that uart_cpu_busaddr() returns only the lower 8 bits of the address and garbage in all other bits. No mistakes...
Diffstat (limited to 'sys/dev/uart/uart_cpu.h')
-rw-r--r--sys/dev/uart/uart_cpu.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/uart/uart_cpu.h b/sys/dev/uart/uart_cpu.h
index f10e4dd..e60ce57 100644
--- a/sys/dev/uart/uart_cpu.h
+++ b/sys/dev/uart/uart_cpu.h
@@ -67,8 +67,9 @@ struct uart_devinfo {
void *cookie; /* Type dependent use. */
};
-int uart_cpu_getdev(int devtype, struct uart_devinfo *di);
-int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2);
+bus_addr_t uart_cpu_busaddr(struct uart_bas *);
+int uart_cpu_eqres(struct uart_bas *, struct uart_bas *);
+int uart_cpu_getdev(int, struct uart_devinfo *);
void uart_add_sysdev(struct uart_devinfo*);
OpenPOWER on IntegriCloud