[OpenBIOS] [PATCH 2/3] escc/pc_serial: separate uart_* functions into separate namespaces
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sun Oct 13 22:13:27 CEST 2013
In order to allow architectures to support both ESCC and PC serial, add an
escc_ prefix to the ESCC serial functions so that they can both co-exist
within the same binary.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
CC: Andreas Färber <afaerber at suse.de>
CC: Hervé Poussineau <hpoussin at reactos.org>
---
openbios-devel/arch/ppc/qemu/console.c | 8 ++---
openbios-devel/arch/sparc32/console.c | 8 ++---
openbios-devel/arch/sparc32/openbios.c | 2 +-
openbios-devel/arch/sparc64/console.c | 2 +-
openbios-devel/drivers/escc.c | 50 +++++++++++++++---------------
openbios-devel/drivers/pc_serial.c | 10 +++---
openbios-devel/include/drivers/drivers.h | 10 +++---
7 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/openbios-devel/arch/ppc/qemu/console.c b/openbios-devel/arch/ppc/qemu/console.c
index affafc1..25b21c0 100644
--- a/openbios-devel/arch/ppc/qemu/console.c
+++ b/openbios-devel/arch/ppc/qemu/console.c
@@ -24,7 +24,7 @@
static int mac_putchar(int c)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- serial_putchar(c);
+ escc_uart_putchar(c & 0xff);
#endif
return c;
}
@@ -32,7 +32,7 @@ static int mac_putchar(int c)
static int mac_availchar(void)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- if (uart_charav(CONFIG_SERIAL_PORT))
+ if (escc_uart_charav(CONFIG_SERIAL_PORT))
return 1;
#endif
return 0;
@@ -41,8 +41,8 @@ static int mac_availchar(void)
static int mac_getchar(void)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- if (uart_charav(CONFIG_SERIAL_PORT))
- return (uart_getchar(CONFIG_SERIAL_PORT));
+ if (escc_uart_charav(CONFIG_SERIAL_PORT))
+ return (escc_uart_getchar(CONFIG_SERIAL_PORT));
#endif
return 0;
}
diff --git a/openbios-devel/arch/sparc32/console.c b/openbios-devel/arch/sparc32/console.c
index 9a6912b..61c2e23 100644
--- a/openbios-devel/arch/sparc32/console.c
+++ b/openbios-devel/arch/sparc32/console.c
@@ -22,7 +22,7 @@
static int arch_putchar(int c)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- serial_putchar(c);
+ escc_uart_putchar(c);
#endif
return c;
}
@@ -30,7 +30,7 @@ static int arch_putchar(int c)
static int arch_availchar(void)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- if (uart_charav(CONFIG_SERIAL_PORT))
+ if (escc_uart_charav(CONFIG_SERIAL_PORT))
return 1;
#endif
#ifdef CONFIG_DEBUG_CONSOLE_VIDEO
@@ -43,8 +43,8 @@ static int arch_availchar(void)
static int arch_getchar(void)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- if (uart_charav(CONFIG_SERIAL_PORT))
- return (uart_getchar(CONFIG_SERIAL_PORT));
+ if (escc_uart_charav(CONFIG_SERIAL_PORT))
+ return (escc_uart_getchar(CONFIG_SERIAL_PORT));
#endif
#ifdef CONFIG_DEBUG_CONSOLE_VIDEO
if (keyboard_dataready())
diff --git a/openbios-devel/arch/sparc32/openbios.c b/openbios-devel/arch/sparc32/openbios.c
index a8b20b2..abdfe7c 100644
--- a/openbios-devel/arch/sparc32/openbios.c
+++ b/openbios-devel/arch/sparc32/openbios.c
@@ -941,7 +941,7 @@ int openbios(void)
#endif
#ifdef CONFIG_DEBUG_CONSOLE
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- uart_init(hwdef->serial_base | (CONFIG_SERIAL_PORT? 0ULL: 4ULL),
+ escc_uart_init(hwdef->serial_base | (CONFIG_SERIAL_PORT? 0ULL: 4ULL),
CONFIG_SERIAL_SPEED);
#endif
#ifdef CONFIG_DEBUG_CONSOLE_VIDEO
diff --git a/openbios-devel/arch/sparc64/console.c b/openbios-devel/arch/sparc64/console.c
index 1cb00d9..6ab5cba 100644
--- a/openbios-devel/arch/sparc64/console.c
+++ b/openbios-devel/arch/sparc64/console.c
@@ -28,7 +28,7 @@
static int arch_putchar(int c)
{
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
- serial_putchar(c);
+ uart_putchar(c);
#endif
return c;
}
diff --git a/openbios-devel/drivers/escc.c b/openbios-devel/drivers/escc.c
index 5690625..105a47d 100644
--- a/openbios-devel/drivers/escc.c
+++ b/openbios-devel/drivers/escc.c
@@ -11,7 +11,7 @@
* serial console functions
* ****************************************************************** */
-static volatile unsigned char *serial_dev;
+static volatile unsigned char *escc_serial_dev;
#define CTRL(addr) (*(volatile unsigned char *)(uintptr_t)(addr))
#ifdef CONFIG_DRIVER_ESCC_SUN
@@ -54,25 +54,25 @@ static volatile unsigned char *serial_dev;
#define Rx_CH_AV 0x1 /* Rx Character Available */
#define Tx_BUF_EMP 0x4 /* Tx Buffer empty */
-int uart_charav(uintptr_t port)
+int escc_uart_charav(uintptr_t port)
{
return (CTRL(port) & Rx_CH_AV) != 0;
}
-char uart_getchar(uintptr_t port)
+char escc_uart_getchar(uintptr_t port)
{
- while (!uart_charav(port))
+ while (!escc_uart_charav(port))
;
return DATA(port) & 0177;
}
-static void uart_putchar(uintptr_t port, unsigned char c)
+static void escc_uart_port_putchar(uintptr_t port, unsigned char c)
{
- if (!serial_dev)
+ if (!escc_serial_dev)
return;
if (c == '\n')
- uart_putchar(port, '\r');
+ escc_uart_port_putchar(port, '\r');
while (!(CTRL(port) & Tx_BUF_EMP))
;
DATA(port) = c;
@@ -102,31 +102,31 @@ static void uart_init_line(volatile unsigned char *port, unsigned long baud)
}
-int uart_init(phys_addr_t port, unsigned long speed)
+int escc_uart_init(phys_addr_t port, unsigned long speed)
{
#ifdef CONFIG_DRIVER_ESCC_SUN
- serial_dev = (unsigned char *)ofmem_map_io(port & ~7ULL, ZS_REGS);
- serial_dev += port & 7ULL;
+ escc_serial_dev = (unsigned char *)ofmem_map_io(port & ~7ULL, ZS_REGS);
+ escc_serial_dev += port & 7ULL;
#else
- serial_dev = (unsigned char *)(uintptr_t)port;
+ escc_serial_dev = (unsigned char *)(uintptr_t)port;
#endif
- uart_init_line(serial_dev, speed);
+ uart_init_line(escc_serial_dev, speed);
return -1;
}
-void serial_putchar(int c)
+void escc_uart_putchar(int c)
{
- uart_putchar((uintptr_t)serial_dev, (unsigned char) (c & 0xff));
+ escc_uart_port_putchar((uintptr_t)escc_serial_dev, (unsigned char) (c & 0xff));
}
void serial_cls(void)
{
- serial_putchar(27);
- serial_putchar('[');
- serial_putchar('H');
- serial_putchar(27);
- serial_putchar('[');
- serial_putchar('J');
+ escc_uart_putchar(27);
+ escc_uart_putchar('[');
+ escc_uart_putchar('H');
+ escc_uart_putchar(27);
+ escc_uart_putchar('[');
+ escc_uart_putchar('J');
}
/* ( addr len -- actual ) */
@@ -142,8 +142,8 @@ escc_read(ucell *address)
if (len < 1)
printk("escc_read: bad len, addr %p len %x\n", addr, len);
- if (uart_charav(*address)) {
- *addr = (char)uart_getchar(*address);
+ if (escc_uart_charav(*address)) {
+ *addr = (char)escc_uart_getchar(*address);
PUSH(1);
} else {
PUSH(0);
@@ -161,7 +161,7 @@ escc_write(ucell *address)
addr = (unsigned char *)cell2pointer(POP());
for (i = 0; i < len; i++) {
- uart_putchar(*address, addr[i]);
+ escc_uart_port_putchar(*address, addr[i]);
}
PUSH(len);
}
@@ -194,7 +194,7 @@ escc_open(ucell *address)
free(args);
}
#else
- *address = (unsigned long)serial_dev; // XXX
+ *address = (unsigned long)escc_serial_dev; // XXX
#endif
RET ( -1 );
}
@@ -470,7 +470,7 @@ escc_init(const char *path, phys_addr_t addr)
escc_add_channel(buf, "a", addr, 1);
escc_add_channel(buf, "b", addr, 0);
- serial_dev = (unsigned char *)addr + IO_ESCC_OFFSET +
+ escc_serial_dev = (unsigned char *)addr + IO_ESCC_OFFSET +
(CONFIG_SERIAL_PORT ? 0 : 0x20);
}
#endif
diff --git a/openbios-devel/drivers/pc_serial.c b/openbios-devel/drivers/pc_serial.c
index 5882a05..6192f18 100644
--- a/openbios-devel/drivers/pc_serial.c
+++ b/openbios-devel/drivers/pc_serial.c
@@ -40,10 +40,10 @@ char uart_getchar(int port)
return ((char) inb(RBR(port)) & 0177);
}
-static void uart_putchar(int port, unsigned char c)
+static void uart_port_putchar(int port, unsigned char c)
{
if (c == '\n')
- uart_putchar(port, '\r');
+ uart_port_putchar(port, '\r');
while (!(inb(LSR(port)) & 0x20));
outb(c, THR(port));
}
@@ -91,9 +91,9 @@ int uart_init(int port, unsigned long speed)
return -1;
}
-void serial_putchar(int c)
+void uart_putchar(int c)
{
- uart_putchar(CONFIG_SERIAL_PORT, (unsigned char) (c & 0xff));
+ uart_port_putchar(CONFIG_SERIAL_PORT, (unsigned char) (c & 0xff));
}
#endif
@@ -129,7 +129,7 @@ pc_serial_write(unsigned long *address)
addr = (unsigned char *)POP();
for (i = 0; i < len; i++) {
- uart_putchar(*address, addr[i]);
+ uart_port_putchar(*address, addr[i]);
}
PUSH(len);
}
diff --git a/openbios-devel/include/drivers/drivers.h b/openbios-devel/include/drivers/drivers.h
index 47d730f..52bc881 100644
--- a/openbios-devel/include/drivers/drivers.h
+++ b/openbios-devel/include/drivers/drivers.h
@@ -109,13 +109,13 @@ void ob_pc_serial_init(const char *path, const char *dev_name, uint64_t base,
int uart_init(int port, unsigned long speed);
int uart_charav(int port);
char uart_getchar(int port);
-void serial_putchar(int c);
+void uart_putchar(int c);
#endif
#ifdef CONFIG_DRIVER_ESCC
-int uart_init(phys_addr_t port, unsigned long speed);
-int uart_charav(uintptr_t port);
-char uart_getchar(uintptr_t port);
-void serial_putchar(int c);
+int escc_uart_init(phys_addr_t port, unsigned long speed);
+int escc_uart_charav(uintptr_t port);
+char escc_uart_getchar(uintptr_t port);
+void escc_uart_putchar(int c);
void serial_cls(void);
#ifdef CONFIG_DRIVER_ESCC_SUN
int keyboard_dataready(void);
--
1.7.10.4
More information about the OpenBIOS
mailing list