summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2003-09-07 21:51:03 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2003-09-07 21:51:03 +0000
commit5cc705512d61b0e69a92da59a5d034a0e882a6fd (patch)
tree22e0d3f0111ac1127e824ebbf9c76d4238693f5f
parent5abd21e1e66e2f3ff01aea76dbe3801f95d9ad4a (diff)
Notes
-rw-r--r--sys/dev/uart/uart_cpu.h5
-rw-r--r--sys/dev/uart/uart_cpu_alpha.c21
-rw-r--r--sys/dev/uart/uart_cpu_amd64.c21
-rw-r--r--sys/dev/uart/uart_cpu_i386.c21
-rw-r--r--sys/dev/uart/uart_cpu_ia64.c21
-rw-r--r--sys/dev/uart/uart_cpu_pc98.c21
-rw-r--r--sys/dev/uart/uart_cpu_sparc64.c21
-rw-r--r--sys/dev/uart/uart_dev_sab82532.c4
-rw-r--r--sys/dev/uart/uart_dev_z8530.c4
9 files changed, 91 insertions, 48 deletions
diff --git a/sys/dev/uart/uart_cpu.h b/sys/dev/uart/uart_cpu.h
index f10e4ddbcff1..e60ce578306d 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*);
diff --git a/sys/dev/uart/uart_cpu_alpha.c b/sys/dev/uart/uart_cpu_alpha.c
index 95ee2ffffa7f..86382771d4e5 100644
--- a/sys/dev/uart/uart_cpu_alpha.c
+++ b/sys/dev/uart/uart_cpu_alpha.c
@@ -39,6 +39,20 @@ __FBSDID("$FreeBSD$");
#include <dev/uart/uart.h>
#include <dev/uart/uart_cpu.h>
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -102,10 +116,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
return (ENXIO);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_cpu_amd64.c b/sys/dev/uart/uart_cpu_amd64.c
index a186216e24ef..1852d40263d4 100644
--- a/sys/dev/uart/uart_cpu_amd64.c
+++ b/sys/dev/uart/uart_cpu_amd64.c
@@ -36,6 +36,20 @@ __FBSDID("$FreeBSD$");
#include <dev/uart/uart.h>
#include <dev/uart/uart_cpu.h>
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -83,10 +97,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
return (ENXIO);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_cpu_i386.c b/sys/dev/uart/uart_cpu_i386.c
index 04de73a7da2f..9e34290abf21 100644
--- a/sys/dev/uart/uart_cpu_i386.c
+++ b/sys/dev/uart/uart_cpu_i386.c
@@ -36,6 +36,20 @@ __FBSDID("$FreeBSD$");
#include <dev/uart/uart.h>
#include <dev/uart/uart_cpu.h>
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -83,10 +97,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
return (ENXIO);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_cpu_ia64.c b/sys/dev/uart/uart_cpu_ia64.c
index f3523fb55b65..32073fceef05 100644
--- a/sys/dev/uart/uart_cpu_ia64.c
+++ b/sys/dev/uart/uart_cpu_ia64.c
@@ -44,6 +44,20 @@ static int dig64_to_uart_parity[] = {
UART_PARITY_ODD, UART_PARITY_MARK, UART_PARITY_SPACE
};
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -130,10 +144,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
return (ENXIO);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_cpu_pc98.c b/sys/dev/uart/uart_cpu_pc98.c
index ab7f0b74a2af..05704d2f6561 100644
--- a/sys/dev/uart/uart_cpu_pc98.c
+++ b/sys/dev/uart/uart_cpu_pc98.c
@@ -36,6 +36,20 @@ __FBSDID("$FreeBSD$");
#include <dev/uart/uart.h>
#include <dev/uart/uart_cpu.h>
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh->bsh_base);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -87,10 +101,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
return (ENXIO);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_cpu_sparc64.c b/sys/dev/uart/uart_cpu_sparc64.c
index fed26a88950b..d14c68b2b029 100644
--- a/sys/dev/uart/uart_cpu_sparc64.c
+++ b/sys/dev/uart/uart_cpu_sparc64.c
@@ -58,6 +58,20 @@ uart_cpu_channel(char *dev)
return (alias[len - 1] - 'a');
}
+bus_addr_t
+uart_cpu_busaddr(struct uart_bas *bas)
+{
+
+ return (bas->bsh);
+}
+
+int
+uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
+{
+
+ return ((b1->bsh == b2->bsh) ? 1 : 0);
+}
+
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
@@ -147,10 +161,3 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
(par == 'o') ? UART_PARITY_ODD : UART_PARITY_EVEN;
return (0);
}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- return ((b1->bsh == b2->bsh) ? 1 : 0);
-}
diff --git a/sys/dev/uart/uart_dev_sab82532.c b/sys/dev/uart/uart_dev_sab82532.c
index b7ca2e4956c6..5345e972d240 100644
--- a/sys/dev/uart/uart_dev_sab82532.c
+++ b/sys/dev/uart/uart_dev_sab82532.c
@@ -42,8 +42,8 @@ __FBSDID("$FreeBSD$");
#define DEFAULT_RCLK 29491200
-#define IS_CHANNEL_A(bas) (((bas)->bsh & 0x40) == 0x00)
-#define IS_CHANNEL_B(bas) (((bas)->bsh & 0x40) == 0x40)
+#define IS_CHANNEL_A(bas) ((uart_cpu_busaddr(bas) & 0x40) == 0x00)
+#define IS_CHANNEL_B(bas) ((uart_cpu_busaddr(bas) & 0x40) == 0x40)
/*
* NOTE: To allow us to read the baudrate divisor from the chip, we
diff --git a/sys/dev/uart/uart_dev_z8530.c b/sys/dev/uart/uart_dev_z8530.c
index 498b3a33a48d..a7c6e25b3103 100644
--- a/sys/dev/uart/uart_dev_z8530.c
+++ b/sys/dev/uart/uart_dev_z8530.c
@@ -42,8 +42,8 @@ __FBSDID("$FreeBSD$");
#define DEFAULT_RCLK 307200
-#define IS_CHANNEL_A(bas) (((bas)->bsh & 7) != 0)
-#define IS_CHANNEL_B(bas) (((bas)->bsh & 7) == 0)
+#define IS_CHANNEL_A(bas) ((uart_cpu_busaddr(bas) & 7) != 0)
+#define IS_CHANNEL_B(bas) ((uart_cpu_busaddr(bas) & 7) == 0)
/* Multiplexed I/O. */
static __inline void