diff options
| author | Alexander Viro <viro@parcelfarce.linux.theplanet.co.uk> | 2003-04-24 08:38:30 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-04-24 08:38:30 -0700 |
| commit | b7d752fb6dc63357ed6673181a8afd4b169488df (patch) | |
| tree | 9415e23a033b0ee43929b9973149cb78a6854043 /drivers/serial | |
| parent | b8f652d56f34bc2ce6e3505bbf7d3746d33eb022 (diff) | |
[PATCH] console cleanup (1/2)
Preparation to console->device() cleanup: serial drivers converted
to common helper for their ->device() methods.
Diffstat (limited to 'drivers/serial')
| -rw-r--r-- | drivers/serial/21285.c | 12 | ||||
| -rw-r--r-- | drivers/serial/8250.c | 9 | ||||
| -rw-r--r-- | drivers/serial/amba.c | 9 | ||||
| -rw-r--r-- | drivers/serial/anakin.c | 11 | ||||
| -rw-r--r-- | drivers/serial/clps711x.c | 9 | ||||
| -rw-r--r-- | drivers/serial/core.c | 6 | ||||
| -rw-r--r-- | drivers/serial/nb85e_uart.c | 9 | ||||
| -rw-r--r-- | drivers/serial/sa1100.c | 9 | ||||
| -rw-r--r-- | drivers/serial/serial98.c | 10 | ||||
| -rw-r--r-- | drivers/serial/sunsab.c | 8 | ||||
| -rw-r--r-- | drivers/serial/sunsu.c | 8 | ||||
| -rw-r--r-- | drivers/serial/sunzilog.c | 8 | ||||
| -rw-r--r-- | drivers/serial/uart00.c | 9 |
13 files changed, 41 insertions, 76 deletions
diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c index 01593c1cfd78..a5315c3100df 100644 --- a/drivers/serial/21285.c +++ b/drivers/serial/21285.c @@ -414,11 +414,6 @@ serial21285_console_write(struct console *co, const char *s, } } -static kdev_t serial21285_console_device(struct console *c) -{ - return mk_kdev(SERIAL_21285_MAJOR, SERIAL_21285_MINOR); -} - static void __init serial21285_get_options(struct uart_port *port, int *baud, int *parity, int *bits) @@ -479,15 +474,17 @@ static int __init serial21285_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits, flow); } +extern struct uart_driver serial21285_reg; #ifdef CONFIG_SERIAL_21285_OLD static struct console serial21285_old_cons = { .name = SERIAL_21285_OLD_NAME, .write = serial21285_console_write, - .device = serial21285_console_device, + .device = uart_console_device, .setup = serial21285_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &serial21285_reg, }; #endif @@ -495,10 +492,11 @@ static struct console serial21285_console = { .name = SERIAL_21285_NAME, .write = serial21285_console_write, - .device = serial21285_console_device, + .device = uart_console_device, .setup = serial21285_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &serial21285_reg, }; static int __init rs285_console_init(void) diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 4b365700d78f..b554e894f79d 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -1944,11 +1944,6 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) serial_out(up, UART_IER, ier); } -static kdev_t serial8250_console_device(struct console *co) -{ - return mk_kdev(TTY_MAJOR, 64 + co->index); -} - static int __init serial8250_console_setup(struct console *co, char *options) { struct uart_port *port; @@ -1977,13 +1972,15 @@ static int __init serial8250_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits, flow); } +extern struct uart_driver serial8250_reg; static struct console serial8250_console = { .name = "ttyS", .write = serial8250_console_write, - .device = serial8250_console_device, + .device = uart_console_device, .setup = serial8250_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &serial8250_reg, }; static int __init serial8250_console_init(void) diff --git a/drivers/serial/amba.c b/drivers/serial/amba.c index e1abc2633196..7ffa50b6f00b 100644 --- a/drivers/serial/amba.c +++ b/drivers/serial/amba.c @@ -640,11 +640,6 @@ ambauart_console_write(struct console *co, const char *s, unsigned int count) UART_PUT_CR(port, old_cr); } -static kdev_t ambauart_console_device(struct console *co) -{ - return mk_kdev(SERIAL_AMBA_MAJOR, SERIAL_AMBA_MINOR + co->index); -} - static void __init ambauart_console_get_options(struct uart_port *port, int *baud, int *parity, int *bits) @@ -696,13 +691,15 @@ static int __init ambauart_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits, flow); } +extern struct uart_driver amba_reg; static struct console amba_console = { .name = "ttyAM", .write = ambauart_console_write, - .device = ambauart_console_device, + .device = uart_console_device, .setup = ambauart_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &amba_reg, }; static int __init ambauart_console_init(void) diff --git a/drivers/serial/anakin.c b/drivers/serial/anakin.c index 392e8b8430b4..1716e234861f 100644 --- a/drivers/serial/anakin.c +++ b/drivers/serial/anakin.c @@ -444,12 +444,6 @@ anakin_console_write(struct console *co, const char *s, unsigned int count) } } -static kdev_t -anakin_console_device(struct console *co) -{ - return mk_kdev(SERIAL_ANAKIN_MAJOR, SERIAL_ANAKIN_MINOR + co->index); -} - /* * Read the current UART setup. */ @@ -493,10 +487,11 @@ anakin_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits); } +extern struct uart_driver anakin_reg; static struct console anakin_console = { .name = SERIAL_ANAKIN_NAME, .write = anakin_console_write, - .device = anakin_console_device, + .device = uart_console_device, .setup = anakin_console_setup, .flags = CON_PRINTBUFFER, .index = -1, @@ -514,7 +509,7 @@ console_initcall(anakin_console_init); #define ANAKIN_CONSOLE NULL #endif -static struct uart_register anakin_reg = { +static struct uart_driver anakin_reg = { .driver_name = SERIAL_ANAKIN_NAME, .dev_name = SERIAL_ANAKIN_NAME, .major = SERIAL_ANAKIN_MAJOR, diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c index c6952eb73228..a32dae486b77 100644 --- a/drivers/serial/clps711x.c +++ b/drivers/serial/clps711x.c @@ -503,11 +503,6 @@ clps711xuart_console_write(struct console *co, const char *s, clps_writel(syscon, SYSCON(port)); } -static kdev_t clps711xuart_console_device(struct console *co) -{ - return mk_kdev(SERIAL_CLPS711X_MAJOR, SERIAL_CLPS711X_MINOR + co->index); -} - static void __init clps711xuart_console_get_options(struct uart_port *port, int *baud, int *parity, int *bits) @@ -558,13 +553,15 @@ static int __init clps711xuart_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits, flow); } +extern struct uart_driver clps711x_reg; static struct console clps711x_console = { .name = "ttyCL", .write = clps711xuart_console_write, - .device = clps711xuart_console_device, + .device = uart_console_device, .setup = clps711xuart_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &clps711x_reg, }; static int __init clps711xuart_console_init(void) diff --git a/drivers/serial/core.c b/drivers/serial/core.c index 2e585223f1e6..7359f3f71b14 100644 --- a/drivers/serial/core.c +++ b/drivers/serial/core.c @@ -2194,6 +2194,12 @@ void uart_unregister_driver(struct uart_driver *drv) kfree(drv->tty_driver); } +kdev_t uart_console_device(struct console *co) +{ + struct uart_driver *p = co->data; + return mk_kdev(p->major, p->minor + co->index); +} + /** * uart_add_one_port - attach a driver-defined port structure * @drv: pointer to the uart low level driver structure for this port diff --git a/drivers/serial/nb85e_uart.c b/drivers/serial/nb85e_uart.c index 97f664e08f5f..1d9da1d786d4 100644 --- a/drivers/serial/nb85e_uart.c +++ b/drivers/serial/nb85e_uart.c @@ -272,19 +272,16 @@ static void nb85e_uart_cons_write (struct console *co, } } -static kdev_t nb85e_uart_cons_device (struct console *c) -{ - return mk_kdev (TTY_MAJOR, NB85E_UART_MINOR_BASE + c->index); -} - +extern struct uart_driver nb85e_uart_driver; static struct console nb85e_uart_cons = { .name = "ttyS", .write = nb85e_uart_cons_write, - .device = nb85e_uart_cons_device, + .device = uart_console_device, .flags = CON_PRINTBUFFER, .cflag = NB85E_UART_INIT_CFLAGS, .index = -1, + .data = &nb85e_uart_driver, }; void nb85e_uart_cons_init (unsigned chan) diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c index 6df20e91174c..2cd9a64b88fc 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c @@ -760,11 +760,6 @@ sa1100_console_write(struct console *co, const char *s, unsigned int count) UART_PUT_UTCR3(sport, old_utcr3); } -static kdev_t sa1100_console_device(struct console *co) -{ - return mk_kdev(SERIAL_SA1100_MAJOR, MINOR_START + co->index); -} - /* * If the port was already initialised (eg, by a boot loader), * try to determine the current setup. @@ -827,13 +822,15 @@ sa1100_console_setup(struct console *co, char *options) return uart_set_options(&sport->port, co, baud, parity, bits, flow); } +extern struct uart_driver sa1100_reg; static struct console sa1100_console = { .name = "ttySA", .write = sa1100_console_write, - .device = sa1100_console_device, + .device = uart_console_device, .setup = sa1100_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = sa1100_reg, }; static int __init sa1100_rs_console_init(void) diff --git a/drivers/serial/serial98.c b/drivers/serial/serial98.c index 9b597943de06..c34f89968530 100644 --- a/drivers/serial/serial98.c +++ b/drivers/serial/serial98.c @@ -136,16 +136,17 @@ struct serial98_port { #ifdef CONFIG_SERIAL98_CONSOLE static void serial98_console_write(struct console *co, const char *s, unsigned int count); -static kdev_t serial98_console_device(struct console *co); static int __init serial98_console_setup(struct console *co, char *options); +extern struct uart_driver serial98_reg; static struct console serial98_console = { .name = "ttyS", .write = serial98_console_write, - .device = serial98_console_device, + .device = uart_console_device, .setup = serial98_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &serial98_reg, }; #define SERIAL98_CONSOLE &serial98_console @@ -994,11 +995,6 @@ serial98_console_write(struct console *co, const char *s, unsigned int count) outb(ier2, IER2_8251F); } -static kdev_t serial98_console_device(struct console *co) -{ - return mk_kdev(TTY_MAJOR, 64 + co->index); -} - static int __init serial98_console_setup(struct console *co, char *options) { struct uart_port *port; diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index 9c464d9c698b..fd434fa05e9d 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c @@ -863,11 +863,6 @@ static void sunsab_console_write(struct console *con, const char *s, unsigned n) sunsab_tec_wait(up); } -static kdev_t sunsab_console_device(struct console *con) -{ - return mk_kdev(sunsab_reg.major, sunsab_reg.minor + con->index); -} - static int sunsab_console_setup(struct console *con, char *options) { struct uart_sunsab_port *up = &sunsab_ports[con->index]; @@ -928,10 +923,11 @@ static int sunsab_console_setup(struct console *con, char *options) static struct console sunsab_console = { .name = "ttyS", .write = sunsab_console_write, - .device = sunsab_console_device, + .device = uart_console_device, .setup = sunsab_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &sunsab_reg, }; static void __init sunsab_console_init(void) diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index b52734b30e71..91c3b6233d42 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c @@ -1422,11 +1422,6 @@ static void sunsu_console_write(struct console *co, const char *s, serial_out(up, UART_IER, ier); } -static kdev_t sunsu_console_device(struct console *co) -{ - return mk_kdev(sunsu_reg.major, sunsu_reg.minor + co->index); -} - /* * Setup initial baud/bits/parity. We do two things here: * - construct a cflag setting for the first su_open() @@ -1467,10 +1462,11 @@ static int __init sunsu_console_setup(struct console *co, char *options) static struct console sunsu_cons = { .name = "ttyS", .write = sunsu_console_write, - .device = sunsu_console_device, + .device = uart_console_device, .setup = sunsu_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &sunsu_reg, }; /* diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c index 7fa1c7a484d6..d91ae7dd5b27 100644 --- a/drivers/serial/sunzilog.c +++ b/drivers/serial/sunzilog.c @@ -1352,11 +1352,6 @@ sunzilog_console_write(struct console *con, const char *s, unsigned int count) spin_unlock_irqrestore(&up->port.lock, flags); } -static kdev_t sunzilog_console_device(struct console *con) -{ - return mk_kdev(sunzilog_reg.major, sunzilog_reg.minor + con->index); -} - static int __init sunzilog_console_setup(struct console *con, char *options) { struct uart_sunzilog_port *up = &sunzilog_port_table[con->index]; @@ -1402,10 +1397,11 @@ static int __init sunzilog_console_setup(struct console *con, char *options) static struct console sunzilog_console = { .name = "ttyS", .write = sunzilog_console_write, - .device = sunzilog_console_device, + .device = uart_console_device, .setup = sunzilog_console_setup, .flags = CON_PRINTBUFFER, .index = -1, + .data = &sunzilog_reg, }; static int __init sunzilog_console_init(void) diff --git a/drivers/serial/uart00.c b/drivers/serial/uart00.c index 2a7d39014919..0601bd634b7b 100644 --- a/drivers/serial/uart00.c +++ b/drivers/serial/uart00.c @@ -576,11 +576,6 @@ static void uart00_console_write(struct console *co, const char *s, unsigned cou #endif } -static kdev_t uart00_console_device(struct console *co) -{ - return mk_kdev(SERIAL_UART00_MAJOR, SERIAL_UART00_MINOR + co->index); -} - static void __init uart00_console_get_options(struct uart_port *port, int *baud, int *parity, int *bits) @@ -636,13 +631,15 @@ static int __init uart00_console_setup(struct console *co, char *options) return uart_set_options(port, co, baud, parity, bits, flow); } +extern struct uart_driver uart00_reg; static struct console uart00_console = { .name = SERIAL_UART00_NAME, .write = uart00_console_write, - .device = uart00_console_device, + .device = uart_console_device, .setup = uart00_console_setup, .flags = CON_PRINTBUFFER, .index = 0, + .data = &uart00_reg; }; static int __init uart00_console_init(void) |
