diff options
Diffstat (limited to 'drivers/ide/legacy')
-rw-r--r-- | drivers/ide/legacy/ali14xx.c | 9 | ||||
-rw-r--r-- | drivers/ide/legacy/dtc2278.c | 12 | ||||
-rw-r--r-- | drivers/ide/legacy/ht6560b.c | 8 | ||||
-rw-r--r-- | drivers/ide/legacy/qd65xx.c | 8 | ||||
-rw-r--r-- | drivers/ide/legacy/umc8672.c | 15 |
5 files changed, 47 insertions, 5 deletions
diff --git a/drivers/ide/legacy/ali14xx.c b/drivers/ide/legacy/ali14xx.c index f9f5b8d54d6d..91961aa03047 100644 --- a/drivers/ide/legacy/ali14xx.c +++ b/drivers/ide/legacy/ali14xx.c | |||
@@ -228,9 +228,17 @@ static int __init ali14xx_probe(void) | |||
228 | return 0; | 228 | return 0; |
229 | } | 229 | } |
230 | 230 | ||
231 | int probe_ali14xx = 0; | ||
232 | |||
233 | module_param_named(probe, probe_ali14xx, bool, 0); | ||
234 | MODULE_PARM_DESC(probe, "probe for ALI M14xx chipsets"); | ||
235 | |||
231 | /* Can be called directly from ide.c. */ | 236 | /* Can be called directly from ide.c. */ |
232 | int __init ali14xx_init(void) | 237 | int __init ali14xx_init(void) |
233 | { | 238 | { |
239 | if (probe_ali14xx == 0) | ||
240 | goto out; | ||
241 | |||
234 | /* auto-detect IDE controller port */ | 242 | /* auto-detect IDE controller port */ |
235 | if (findPort()) { | 243 | if (findPort()) { |
236 | if (ali14xx_probe()) | 244 | if (ali14xx_probe()) |
@@ -238,6 +246,7 @@ int __init ali14xx_init(void) | |||
238 | return 0; | 246 | return 0; |
239 | } | 247 | } |
240 | printk(KERN_ERR "ali14xx: not found.\n"); | 248 | printk(KERN_ERR "ali14xx: not found.\n"); |
249 | out: | ||
241 | return -ENODEV; | 250 | return -ENODEV; |
242 | } | 251 | } |
243 | 252 | ||
diff --git a/drivers/ide/legacy/dtc2278.c b/drivers/ide/legacy/dtc2278.c index f2903b6e43c0..0219ffa64db6 100644 --- a/drivers/ide/legacy/dtc2278.c +++ b/drivers/ide/legacy/dtc2278.c | |||
@@ -92,7 +92,7 @@ static void tune_dtc2278 (ide_drive_t *drive, u8 pio) | |||
92 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = 1; | 92 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = 1; |
93 | } | 93 | } |
94 | 94 | ||
95 | static int __init probe_dtc2278(void) | 95 | static int __init dtc2278_probe(void) |
96 | { | 96 | { |
97 | unsigned long flags; | 97 | unsigned long flags; |
98 | ide_hwif_t *hwif, *mate; | 98 | ide_hwif_t *hwif, *mate; |
@@ -143,10 +143,18 @@ static int __init probe_dtc2278(void) | |||
143 | return 0; | 143 | return 0; |
144 | } | 144 | } |
145 | 145 | ||
146 | int probe_dtc2278 = 0; | ||
147 | |||
148 | module_param_named(probe, probe_dtc2278, bool, 0); | ||
149 | MODULE_PARM_DESC(probe, "probe for DTC2278xx chipsets"); | ||
150 | |||
146 | /* Can be called directly from ide.c. */ | 151 | /* Can be called directly from ide.c. */ |
147 | int __init dtc2278_init(void) | 152 | int __init dtc2278_init(void) |
148 | { | 153 | { |
149 | if (probe_dtc2278()) { | 154 | if (probe_dtc2278 == 0) |
155 | return -ENODEV; | ||
156 | |||
157 | if (dtc2278_probe()) { | ||
150 | printk(KERN_ERR "dtc2278: ide interfaces already in use!\n"); | 158 | printk(KERN_ERR "dtc2278: ide interfaces already in use!\n"); |
151 | return -EBUSY; | 159 | return -EBUSY; |
152 | } | 160 | } |
diff --git a/drivers/ide/legacy/ht6560b.c b/drivers/ide/legacy/ht6560b.c index 02d5e20791e3..a2832643c522 100644 --- a/drivers/ide/legacy/ht6560b.c +++ b/drivers/ide/legacy/ht6560b.c | |||
@@ -301,12 +301,20 @@ static void tune_ht6560b (ide_drive_t *drive, u8 pio) | |||
301 | #endif | 301 | #endif |
302 | } | 302 | } |
303 | 303 | ||
304 | int probe_ht6560b = 0; | ||
305 | |||
306 | module_param_named(probe, probe_ht6560b, bool, 0); | ||
307 | MODULE_PARM_DESC(probe, "probe for HT6560B chipset"); | ||
308 | |||
304 | /* Can be called directly from ide.c. */ | 309 | /* Can be called directly from ide.c. */ |
305 | int __init ht6560b_init(void) | 310 | int __init ht6560b_init(void) |
306 | { | 311 | { |
307 | ide_hwif_t *hwif, *mate; | 312 | ide_hwif_t *hwif, *mate; |
308 | int t; | 313 | int t; |
309 | 314 | ||
315 | if (probe_ht6560b == 0) | ||
316 | return -ENODEV; | ||
317 | |||
310 | hwif = &ide_hwifs[0]; | 318 | hwif = &ide_hwifs[0]; |
311 | mate = &ide_hwifs[1]; | 319 | mate = &ide_hwifs[1]; |
312 | 320 | ||
diff --git a/drivers/ide/legacy/qd65xx.c b/drivers/ide/legacy/qd65xx.c index ab482c85e415..2fb8f50f1293 100644 --- a/drivers/ide/legacy/qd65xx.c +++ b/drivers/ide/legacy/qd65xx.c | |||
@@ -488,9 +488,17 @@ static int __init qd_probe(int base) | |||
488 | return 1; | 488 | return 1; |
489 | } | 489 | } |
490 | 490 | ||
491 | int probe_qd65xx = 0; | ||
492 | |||
493 | module_param_named(probe, probe_qd65xx, bool, 0); | ||
494 | MODULE_PARM_DESC(probe, "probe for QD65xx chipsets"); | ||
495 | |||
491 | /* Can be called directly from ide.c. */ | 496 | /* Can be called directly from ide.c. */ |
492 | int __init qd65xx_init(void) | 497 | int __init qd65xx_init(void) |
493 | { | 498 | { |
499 | if (probe_qd65xx == 0) | ||
500 | return -ENODEV; | ||
501 | |||
494 | if (qd_probe(0x30)) | 502 | if (qd_probe(0x30)) |
495 | qd_probe(0xb0); | 503 | qd_probe(0xb0); |
496 | if (ide_hwifs[0].chipset != ide_qd65xx && | 504 | if (ide_hwifs[0].chipset != ide_qd65xx && |
diff --git a/drivers/ide/legacy/umc8672.c b/drivers/ide/legacy/umc8672.c index 6e2c58c5f6a2..ca7974455578 100644 --- a/drivers/ide/legacy/umc8672.c +++ b/drivers/ide/legacy/umc8672.c | |||
@@ -165,12 +165,21 @@ static int __init umc8672_probe(void) | |||
165 | return 0; | 165 | return 0; |
166 | } | 166 | } |
167 | 167 | ||
168 | int probe_umc8672 = 0; | ||
169 | |||
170 | module_param_named(probe, probe_umc8672, bool, 0); | ||
171 | MODULE_PARM_DESC(probe, "probe for UMC8672 chipset"); | ||
172 | |||
168 | /* Can be called directly from ide.c. */ | 173 | /* Can be called directly from ide.c. */ |
169 | int __init umc8672_init(void) | 174 | int __init umc8672_init(void) |
170 | { | 175 | { |
171 | if (umc8672_probe()) | 176 | if (probe_umc8672 == 0) |
172 | return -ENODEV; | 177 | goto out; |
173 | return 0; | 178 | |
179 | if (umc8672_probe() == 0) | ||
180 | return 0;; | ||
181 | out: | ||
182 | return -ENODEV;; | ||
174 | } | 183 | } |
175 | 184 | ||
176 | #ifdef MODULE | 185 | #ifdef MODULE |