Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71192
b: refs/heads/master
c: 7aeb95d
h: refs/heads/master
v: v3
  • Loading branch information
Jiri Slaby authored and Linus Torvalds committed Oct 18, 2007
1 parent b626b08 commit a7023ce
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 43 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d941ea7d496db914205c3872942fd1ff0e7dccef
refs/heads/master: 7aeb95daf37dbd72f63cdd52d86a8b5d89e59394
73 changes: 31 additions & 42 deletions trunk/drivers/char/moxa.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ struct moxa_port {

#define WAKEUP_CHARS 256

static int verbose = 0;
static int ttymajor = MOXAMAJOR;
/* Variables for insmod */
#ifdef MODULE
Expand All @@ -184,7 +183,6 @@ module_param_array(baseaddr, int, NULL, 0);
module_param_array(numports, int, NULL, 0);
#endif
module_param(ttymajor, int, 0);
module_param(verbose, bool, 0644);

/*
* static functions:
Expand Down Expand Up @@ -283,25 +281,28 @@ static int __devinit moxa_pci_probe(struct pci_dev *pdev,
int retval;

retval = pci_enable_device(pdev);
if (retval)
if (retval) {
dev_err(&pdev->dev, "can't enable pci device\n");
goto err;
}

for (i = 0; i < MAX_BOARDS; i++)
if (moxa_boards[i].basemem == NULL)
break;

retval = -ENODEV;
if (i >= MAX_BOARDS) {
if (verbose)
printk("More than %d MOXA Intellio family boards "
dev_warn(&pdev->dev, "more than %u MOXA Intellio family boards "
"found. Board is ignored.\n", MAX_BOARDS);
goto err;
}

board = &moxa_boards[i];
board->basemem = pci_iomap(pdev, 2, 0x4000);
if (board->basemem == NULL)
if (board->basemem == NULL) {
dev_err(&pdev->dev, "can't remap io space 2\n");
goto err;
}

board->boardType = board_type;
switch (board_type) {
Expand Down Expand Up @@ -347,7 +348,8 @@ static int __init moxa_init(void)
int i, numBoards, retval = 0;
struct moxa_port *ch;

printk(KERN_INFO "MOXA Intellio family driver version %s\n", MOXA_VERSION);
printk(KERN_INFO "MOXA Intellio family driver version %s\n",
MOXA_VERSION);
moxaDriver = alloc_tty_driver(MAX_PORTS + 1);
if (!moxaDriver)
return -ENOMEM;
Expand Down Expand Up @@ -378,7 +380,7 @@ static int __init moxa_init(void)
(unsigned long)ch);
}

printk("Tty devices major number = %d\n", ttymajor);
pr_debug("Moxa tty devices major number = %d\n", ttymajor);

if (tty_register_driver(moxaDriver)) {
printk(KERN_ERR "Couldn't install MOXA Smartio family driver !\n");
Expand All @@ -400,11 +402,10 @@ static int __init moxa_init(void)
moxa_boards[numBoards].numPorts = moxa_isa_boards[i].numPorts;
moxa_boards[numBoards].busType = MOXA_BUS_TYPE_ISA;
moxa_boards[numBoards].baseAddr = moxa_isa_boards[i].baseAddr;
if (verbose)
printk("Board %2d: %s board(baseAddr=%lx)\n",
numBoards + 1,
moxa_brdname[moxa_boards[numBoards].boardType - 1],
moxa_boards[numBoards].baseAddr);
pr_debug("Moxa board %2d: %s board(baseAddr=%lx)\n",
numBoards + 1,
moxa_brdname[moxa_boards[numBoards].boardType-1],
moxa_boards[numBoards].baseAddr);
numBoards++;
}
}
Expand All @@ -413,14 +414,13 @@ static int __init moxa_init(void)
for (i = 0; i < MAX_BOARDS; i++) {
if ((type[i] == MOXA_BOARD_C218_ISA) ||
(type[i] == MOXA_BOARD_C320_ISA)) {
if (verbose)
printk("Board %2d: %s board(baseAddr=%lx)\n",
numBoards + 1,
moxa_brdname[type[i] - 1],
(unsigned long) baseaddr[i]);
pr_debug("Moxa board %2d: %s board(baseAddr=%lx)\n",
numBoards + 1, moxa_brdname[type[i] - 1],
(unsigned long)baseaddr[i]);
if (numBoards >= MAX_BOARDS) {
if (verbose)
printk("More than %d MOXA Intellio family boards found. Board is ignored.", MAX_BOARDS);
printk(KERN_WARNING "More than %d MOXA "
"Intellio family boards found. Board "
"is ignored.\n", MAX_BOARDS);
continue;
}
moxa_boards[numBoards].boardType = type[i];
Expand Down Expand Up @@ -456,16 +456,14 @@ static void __exit moxa_exit(void)
{
int i;

if (verbose)
printk("Unloading module moxa ...\n");

del_timer_sync(&moxaTimer);

for (i = 0; i < MAX_PORTS; i++)
del_timer_sync(&moxa_ports[i].emptyTimer);

if (tty_unregister_driver(moxaDriver))
printk("Couldn't unregister MOXA Intellio family serial driver\n");
printk(KERN_ERR "Couldn't unregister MOXA Intellio family "
"serial driver\n");
put_tty_driver(moxaDriver);

#ifdef CONFIG_PCI
Expand All @@ -475,9 +473,6 @@ static void __exit moxa_exit(void)
for (i = 0; i < MAX_BOARDS; i++)
if (moxa_boards[i].basemem)
iounmap(moxa_boards[i].basemem);

if (verbose)
printk("Done\n");
}

module_init(moxa_init);
Expand Down Expand Up @@ -532,9 +527,7 @@ static void moxa_close(struct tty_struct *tty, struct file *filp)
return;
}
if (!MoxaPortIsValid(port)) {
#ifdef SERIAL_DEBUG_CLOSE
printk("Invalid portno in moxa_close\n");
#endif
pr_debug("Invalid portno in moxa_close\n");
tty->driver_data = NULL;
return;
}
Expand All @@ -547,13 +540,13 @@ static void moxa_close(struct tty_struct *tty, struct file *filp)
ch = (struct moxa_port *) tty->driver_data;

if ((tty->count == 1) && (ch->count != 1)) {
printk("moxa_close: bad serial port count; tty->count is 1, "
"ch->count is %d\n", ch->count);
printk(KERN_WARNING "moxa_close: bad serial port count; "
"tty->count is 1, ch->count is %d\n", ch->count);
ch->count = 1;
}
if (--ch->count < 0) {
printk("moxa_close: bad serial port count, device=%s\n",
tty->name);
printk(KERN_WARNING "moxa_close: bad serial port count, "
"device=%s\n", tty->name);
ch->count = 0;
}
if (ch->count) {
Expand Down Expand Up @@ -971,10 +964,8 @@ static int block_till_ready(struct tty_struct *tty, struct file *filp,
*/
retval = 0;
add_wait_queue(&ch->open_wait, &wait);
#ifdef SERIAL_DEBUG_OPEN
printk("block_til_ready before block: ttys%d, count = %d\n",
ch->line, ch->count);
#endif
pr_debug("block_til_ready before block: ttys%d, count = %d\n",
ch->port, ch->count);
spin_lock_irqsave(&moxa_lock, flags);
if (!tty_hung_up_p(filp))
ch->count--;
Expand Down Expand Up @@ -1013,10 +1004,8 @@ static int block_till_ready(struct tty_struct *tty, struct file *filp,
ch->count++;
ch->blocked_open--;
spin_unlock_irqrestore(&moxa_lock, flags);
#ifdef SERIAL_DEBUG_OPEN
printk("block_til_ready after blocking: ttys%d, count = %d\n",
ch->line, ch->count);
#endif
pr_debug("block_til_ready after blocking: ttys%d, count = %d\n",
ch->port, ch->count);
if (retval)
return (retval);
/* FIXME: review to see if we need to use set_bit on these */
Expand Down

0 comments on commit a7023ce

Please sign in to comment.