Commit 20904363 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman

serial: cyclades: allow overriding ISA defaults also when the driver is built-in

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a357e777
...@@ -158,13 +158,11 @@ static unsigned int cy_isa_addresses[] = { ...@@ -158,13 +158,11 @@ static unsigned int cy_isa_addresses[] = {
#define NR_ISA_ADDRS ARRAY_SIZE(cy_isa_addresses) #define NR_ISA_ADDRS ARRAY_SIZE(cy_isa_addresses)
#ifdef MODULE
static long maddr[NR_CARDS]; static long maddr[NR_CARDS];
static int irq[NR_CARDS]; static int irq[NR_CARDS];
module_param_array(maddr, long, NULL, 0); module_param_array(maddr, long, NULL, 0);
module_param_array(irq, int, NULL, 0); module_param_array(irq, int, NULL, 0);
#endif
#endif /* CONFIG_ISA */ #endif /* CONFIG_ISA */
...@@ -3310,13 +3308,10 @@ static int __init cy_detect_isa(void) ...@@ -3310,13 +3308,10 @@ static int __init cy_detect_isa(void)
unsigned short cy_isa_irq, nboard; unsigned short cy_isa_irq, nboard;
void __iomem *cy_isa_address; void __iomem *cy_isa_address;
unsigned short i, j, cy_isa_nchan; unsigned short i, j, cy_isa_nchan;
#ifdef MODULE
int isparam = 0; int isparam = 0;
#endif
nboard = 0; nboard = 0;
#ifdef MODULE
/* Check for module parameters */ /* Check for module parameters */
for (i = 0; i < NR_CARDS; i++) { for (i = 0; i < NR_CARDS; i++) {
if (maddr[i] || i) { if (maddr[i] || i) {
...@@ -3326,7 +3321,6 @@ static int __init cy_detect_isa(void) ...@@ -3326,7 +3321,6 @@ static int __init cy_detect_isa(void)
if (!maddr[i]) if (!maddr[i])
break; break;
} }
#endif
/* scan the address table probing for Cyclom-Y/ISA boards */ /* scan the address table probing for Cyclom-Y/ISA boards */
for (i = 0; i < NR_ISA_ADDRS; i++) { for (i = 0; i < NR_ISA_ADDRS; i++) {
...@@ -3347,11 +3341,10 @@ static int __init cy_detect_isa(void) ...@@ -3347,11 +3341,10 @@ static int __init cy_detect_isa(void)
iounmap(cy_isa_address); iounmap(cy_isa_address);
continue; continue;
} }
#ifdef MODULE
if (isparam && i < NR_CARDS && irq[i]) if (isparam && i < NR_CARDS && irq[i])
cy_isa_irq = irq[i]; cy_isa_irq = irq[i];
else else
#endif
/* find out the board's irq by probing */ /* find out the board's irq by probing */
cy_isa_irq = detect_isa_irq(cy_isa_address); cy_isa_irq = detect_isa_irq(cy_isa_address);
if (cy_isa_irq == 0) { if (cy_isa_irq == 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment