提交 eae4436a 编写于 作者: J Jiri Slaby 提交者: Linus Torvalds

[PATCH] Char: mxser_new, compress isa finding

ISA cards finding was too complex -- 2 (module params + predefined) absolutely
same routines, join them together with one for loop, one if and one indent
level.

Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 ead568c9
......@@ -2803,7 +2803,8 @@ static int __init mxser_module_init(void)
{
struct pci_dev *pdev = NULL;
struct mxser_board *brd;
unsigned int i, m;
unsigned long cap;
unsigned int i, m, isaloop;
int retval, b, n;
pr_debug("Loading module mxser ...\n");
......@@ -2839,84 +2840,54 @@ static int __init mxser_module_init(void)
m = 0;
/* Start finding ISA boards here */
for (b = 0; b < MXSER_BOARDS && m < MXSER_BOARDS; b++) {
int cap;
if (!(cap = mxserBoardCAP[b]))
continue;
brd = &mxser_boards[m];
retval = mxser_get_ISA_conf(cap, brd);
if (retval != 0)
printk(KERN_INFO "Found MOXA %s board (CAP=0x%x)\n",
mxser_brdname[brd->board_type - 1], ioaddr[b]);
if (retval <= 0) {
if (retval == MXSER_ERR_IRQ)
printk(KERN_ERR "Invalid interrupt number, "
"board not configured\n");
else if (retval == MXSER_ERR_IRQ_CONFLIT)
printk(KERN_ERR "Invalid interrupt number, "
"board not configured\n");
else if (retval == MXSER_ERR_VECTOR)
printk(KERN_ERR "Invalid interrupt vector, "
"board not configured\n");
else if (retval == MXSER_ERR_IOADDR)
printk(KERN_ERR "Invalid I/O address, "
"board not configured\n");
for (isaloop = 0; isaloop < 2; isaloop++)
for (b = 0; b < MXSER_BOARDS && m < MXSER_BOARDS; b++) {
if (!isaloop)
cap = mxserBoardCAP[b]; /* predefined */
else
cap = ioaddr[b]; /* module param */
continue;
}
if (!cap)
continue;
brd->pdev = NULL;
brd = &mxser_boards[m];
retval = mxser_get_ISA_conf(cap, brd);
/* mxser_initbrd will hook ISR. */
if (mxser_initbrd(brd) < 0)
continue;
if (retval != 0)
printk(KERN_INFO "Found MOXA %s board "
"(CAP=0x%x)\n",
mxser_brdname[brd->board_type - 1],
ioaddr[b]);
m++;
}
if (retval <= 0) {
if (retval == MXSER_ERR_IRQ)
printk(KERN_ERR "Invalid interrupt "
"number, board not "
"configured\n");
else if (retval == MXSER_ERR_IRQ_CONFLIT)
printk(KERN_ERR "Invalid interrupt "
"number, board not "
"configured\n");
else if (retval == MXSER_ERR_VECTOR)
printk(KERN_ERR "Invalid interrupt "
"vector, board not "
"configured\n");
else if (retval == MXSER_ERR_IOADDR)
printk(KERN_ERR "Invalid I/O address, "
"board not configured\n");
/* Start finding ISA boards from module arg */
for (b = 0; b < MXSER_BOARDS && m < MXSER_BOARDS; b++) {
unsigned long cap;
continue;
}
if (!(cap = ioaddr[b]))
continue;
brd->pdev = NULL;
brd = &mxser_boards[m];
retval = mxser_get_ISA_conf(cap, &mxser_boards[m]);
if (retval != 0)
printk(KERN_INFO "Found MOXA %s board (CAP=0x%x)\n",
mxser_brdname[brd->board_type - 1], ioaddr[b]);
if (retval <= 0) {
if (retval == MXSER_ERR_IRQ)
printk(KERN_ERR "Invalid interrupt number, "
"board not configured\n");
else if (retval == MXSER_ERR_IRQ_CONFLIT)
printk(KERN_ERR "Invalid interrupt number, "
"board not configured\n");
else if (retval == MXSER_ERR_VECTOR)
printk(KERN_ERR "Invalid interrupt vector, "
"board not configured\n");
else if (retval == MXSER_ERR_IOADDR)
printk(KERN_ERR "Invalid I/O address, "
"board not configured\n");
/* mxser_initbrd will hook ISR. */
if (mxser_initbrd(brd) < 0)
continue;
continue;
m++;
}
brd->pdev = NULL;
/* mxser_initbrd will hook ISR. */
if (mxser_initbrd(brd) < 0)
continue;
m++;
}
/* start finding PCI board here */
n = ARRAY_SIZE(mxser_pcibrds) - 1;
b = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册