git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
serial
/
mux.c
diff --git
a/drivers/serial/mux.c
b/drivers/serial/mux.c
index
868eaf4
..
ccb8fa1
100644
(file)
--- a/
drivers/serial/mux.c
+++ b/
drivers/serial/mux.c
@@
-16,7
+16,6
@@
**
*/
**
*/
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/tty.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/tty.h>
#include <linux/ioport.h>
@@
-51,7
+50,7
@@
#define MUX_BREAK(status) ((status & 0xF000) == 0x2000)
#define MUX_NR 256
#define MUX_BREAK(status) ((status & 0xF000) == 0x2000)
#define MUX_NR 256
-static unsigned int port_cnt
= 0
;
+static unsigned int port_cnt
__read_mostly
;
static struct uart_port mux_ports[MUX_NR];
static struct uart_driver mux_driver = {
static struct uart_port mux_ports[MUX_NR];
static struct uart_driver mux_driver = {
@@
-231,7
+230,7
@@
static void mux_read(struct uart_port *port)
continue;
}
continue;
}
- if (uart_handle_sysrq_char(port, data & 0xffu
, NULL
))
+ if (uart_handle_sysrq_char(port, data & 0xffu))
continue;
tty_insert_flip_char(tty, data & 0xFF, TTY_NORMAL);
continue;
tty_insert_flip_char(tty, data & 0xFF, TTY_NORMAL);
@@
-274,8
+273,8
@@
static void mux_shutdown(struct uart_port *port)
* The Serial Mux does not support this function.
*/
static void
* The Serial Mux does not support this function.
*/
static void
-mux_set_termios(struct uart_port *port, struct termios *termios,
- struct termios *old)
+mux_set_termios(struct uart_port *port, struct
k
termios *termios,
+ struct
k
termios *old)
{
}
{
}
@@
-461,7
+460,7
@@
static int __init mux_probe(struct parisc_device *dev)
port->iobase = 0;
port->mapbase = dev->hpa.start + MUX_OFFSET +
(i * MUX_LINE_OFFSET);
port->iobase = 0;
port->mapbase = dev->hpa.start + MUX_OFFSET +
(i * MUX_LINE_OFFSET);
- port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET);
+ port->membase = ioremap
_nocache
(port->mapbase, MUX_LINE_OFFSET);
port->iotype = UPIO_MEM;
port->type = PORT_MUX;
port->irq = NO_IRQ;
port->iotype = UPIO_MEM;
port->type = PORT_MUX;
port->irq = NO_IRQ;
@@
-522,6
+521,8
@@
static void __exit mux_exit(void)
for (i = 0; i < port_cnt; i++) {
uart_remove_one_port(&mux_driver, &mux_ports[i]);
for (i = 0; i < port_cnt; i++) {
uart_remove_one_port(&mux_driver, &mux_ports[i]);
+ if (mux_ports[i].membase)
+ iounmap(mux_ports[i].membase);
}
uart_unregister_driver(&mux_driver);
}
uart_unregister_driver(&mux_driver);