aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/cyclades.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-12-09 15:34:14 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-02 17:43:12 -0500
commit2090436357c20afad377a61c789f502c36d637de (patch)
tree592c66ac6597816fe0e2f46bd602acc0e7032b83 /drivers/char/cyclades.c
parenta357e777b5982d5f460a2783d697a8a90d497348 (diff)
serial: cyclades: allow overriding ISA defaults also when the driver is built-in
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/char/cyclades.c')
-rw-r--r--drivers/char/cyclades.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 274e9651fa36..e026f2447923 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -158,13 +158,11 @@ static unsigned int cy_isa_addresses[] = {
158 158
159#define NR_ISA_ADDRS ARRAY_SIZE(cy_isa_addresses) 159#define NR_ISA_ADDRS ARRAY_SIZE(cy_isa_addresses)
160 160
161#ifdef MODULE
162static long maddr[NR_CARDS]; 161static long maddr[NR_CARDS];
163static int irq[NR_CARDS]; 162static int irq[NR_CARDS];
164 163
165module_param_array(maddr, long, NULL, 0); 164module_param_array(maddr, long, NULL, 0);
166module_param_array(irq, int, NULL, 0); 165module_param_array(irq, int, NULL, 0);
167#endif
168 166
169#endif /* CONFIG_ISA */ 167#endif /* CONFIG_ISA */
170 168
@@ -3310,13 +3308,10 @@ static int __init cy_detect_isa(void)
3310 unsigned short cy_isa_irq, nboard; 3308 unsigned short cy_isa_irq, nboard;
3311 void __iomem *cy_isa_address; 3309 void __iomem *cy_isa_address;
3312 unsigned short i, j, cy_isa_nchan; 3310 unsigned short i, j, cy_isa_nchan;
3313#ifdef MODULE
3314 int isparam = 0; 3311 int isparam = 0;
3315#endif
3316 3312
3317 nboard = 0; 3313 nboard = 0;
3318 3314
3319#ifdef MODULE
3320 /* Check for module parameters */ 3315 /* Check for module parameters */
3321 for (i = 0; i < NR_CARDS; i++) { 3316 for (i = 0; i < NR_CARDS; i++) {
3322 if (maddr[i] || i) { 3317 if (maddr[i] || i) {
@@ -3326,7 +3321,6 @@ static int __init cy_detect_isa(void)
3326 if (!maddr[i]) 3321 if (!maddr[i])
3327 break; 3322 break;
3328 } 3323 }
3329#endif
3330 3324
3331 /* scan the address table probing for Cyclom-Y/ISA boards */ 3325 /* scan the address table probing for Cyclom-Y/ISA boards */
3332 for (i = 0; i < NR_ISA_ADDRS; i++) { 3326 for (i = 0; i < NR_ISA_ADDRS; i++) {
@@ -3347,11 +3341,10 @@ static int __init cy_detect_isa(void)
3347 iounmap(cy_isa_address); 3341 iounmap(cy_isa_address);
3348 continue; 3342 continue;
3349 } 3343 }
3350#ifdef MODULE 3344
3351 if (isparam && i < NR_CARDS && irq[i]) 3345 if (isparam && i < NR_CARDS && irq[i])
3352 cy_isa_irq = irq[i]; 3346 cy_isa_irq = irq[i];
3353 else 3347 else
3354#endif
3355 /* find out the board's irq by probing */ 3348 /* find out the board's irq by probing */
3356 cy_isa_irq = detect_isa_irq(cy_isa_address); 3349 cy_isa_irq = detect_isa_irq(cy_isa_address);
3357 if (cy_isa_irq == 0) { 3350 if (cy_isa_irq == 0) {