diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-04 16:31:00 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-04 16:31:00 -0500 |
commit | 20b0f65d35ae45d43f363ace3744a775a752d265 (patch) | |
tree | 6085d058cb5ce12bc07368ed897c3689f5239389 /drivers/ide/legacy | |
parent | 70077f2fab35ed3d73631fc47d8c572b560ecabd (diff) | |
parent | 849138827c962589ac50496fa7feeb2a2d51b467 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
ide: make legacy IDE VLB modules check for the "probe" kernel params (v2)
ide: remove some obsoleted kernel params (v2)
ide/pci/delkin_cb.c: pci_module_init to pci_register_driver
scc_pata: bugfix for checking DMA IRQ status
ide: remove a ton of pointless #undef REALLY_SLOW_IO
siimage: DRAC4 note
adjust legacy IDE resource setting (v2)
ide: fix pmac breakage
ide-cs: Update device table
ide: ide_get_best_pio_mode() returns incorrect IORDY setting (take 2)
piix/slc90e66: more tuneproc() fixing (take 2)
ide: fix drive side 80c cable check, take 2
cmd64x: fix PIO mode setup (take 3)
alim15x3: fix PIO mode setup
Diffstat (limited to 'drivers/ide/legacy')
-rw-r--r-- | drivers/ide/legacy/ali14xx.c | 11 | ||||
-rw-r--r-- | drivers/ide/legacy/dtc2278.c | 14 | ||||
-rw-r--r-- | drivers/ide/legacy/ht6560b.c | 10 | ||||
-rw-r--r-- | drivers/ide/legacy/ide-cs.c | 7 | ||||
-rw-r--r-- | drivers/ide/legacy/qd65xx.c | 14 | ||||
-rw-r--r-- | drivers/ide/legacy/umc8672.c | 15 |
6 files changed, 54 insertions, 17 deletions
diff --git a/drivers/ide/legacy/ali14xx.c b/drivers/ide/legacy/ali14xx.c index 9c544467cb74..91961aa03047 100644 --- a/drivers/ide/legacy/ali14xx.c +++ b/drivers/ide/legacy/ali14xx.c | |||
@@ -37,8 +37,6 @@ | |||
37 | * mode 4 for a while now with no trouble.) -Derek | 37 | * mode 4 for a while now with no trouble.) -Derek |
38 | */ | 38 | */ |
39 | 39 | ||
40 | #undef REALLY_SLOW_IO /* most systems can safely undef this */ | ||
41 | |||
42 | #include <linux/module.h> | 40 | #include <linux/module.h> |
43 | #include <linux/types.h> | 41 | #include <linux/types.h> |
44 | #include <linux/kernel.h> | 42 | #include <linux/kernel.h> |
@@ -230,9 +228,17 @@ static int __init ali14xx_probe(void) | |||
230 | return 0; | 228 | return 0; |
231 | } | 229 | } |
232 | 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 | |||
233 | /* Can be called directly from ide.c. */ | 236 | /* Can be called directly from ide.c. */ |
234 | int __init ali14xx_init(void) | 237 | int __init ali14xx_init(void) |
235 | { | 238 | { |
239 | if (probe_ali14xx == 0) | ||
240 | goto out; | ||
241 | |||
236 | /* auto-detect IDE controller port */ | 242 | /* auto-detect IDE controller port */ |
237 | if (findPort()) { | 243 | if (findPort()) { |
238 | if (ali14xx_probe()) | 244 | if (ali14xx_probe()) |
@@ -240,6 +246,7 @@ int __init ali14xx_init(void) | |||
240 | return 0; | 246 | return 0; |
241 | } | 247 | } |
242 | printk(KERN_ERR "ali14xx: not found.\n"); | 248 | printk(KERN_ERR "ali14xx: not found.\n"); |
249 | out: | ||
243 | return -ENODEV; | 250 | return -ENODEV; |
244 | } | 251 | } |
245 | 252 | ||
diff --git a/drivers/ide/legacy/dtc2278.c b/drivers/ide/legacy/dtc2278.c index 3b1d33baaa2f..0219ffa64db6 100644 --- a/drivers/ide/legacy/dtc2278.c +++ b/drivers/ide/legacy/dtc2278.c | |||
@@ -4,8 +4,6 @@ | |||
4 | * Copyright (C) 1996 Linus Torvalds & author (see below) | 4 | * Copyright (C) 1996 Linus Torvalds & author (see below) |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #undef REALLY_SLOW_IO /* most systems can safely undef this */ | ||
8 | |||
9 | #include <linux/module.h> | 7 | #include <linux/module.h> |
10 | #include <linux/types.h> | 8 | #include <linux/types.h> |
11 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
@@ -94,7 +92,7 @@ static void tune_dtc2278 (ide_drive_t *drive, u8 pio) | |||
94 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = 1; | 92 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = 1; |
95 | } | 93 | } |
96 | 94 | ||
97 | static int __init probe_dtc2278(void) | 95 | static int __init dtc2278_probe(void) |
98 | { | 96 | { |
99 | unsigned long flags; | 97 | unsigned long flags; |
100 | ide_hwif_t *hwif, *mate; | 98 | ide_hwif_t *hwif, *mate; |
@@ -145,10 +143,18 @@ static int __init probe_dtc2278(void) | |||
145 | return 0; | 143 | return 0; |
146 | } | 144 | } |
147 | 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 | |||
148 | /* Can be called directly from ide.c. */ | 151 | /* Can be called directly from ide.c. */ |
149 | int __init dtc2278_init(void) | 152 | int __init dtc2278_init(void) |
150 | { | 153 | { |
151 | if (probe_dtc2278()) { | 154 | if (probe_dtc2278 == 0) |
155 | return -ENODEV; | ||
156 | |||
157 | if (dtc2278_probe()) { | ||
152 | printk(KERN_ERR "dtc2278: ide interfaces already in use!\n"); | 158 | printk(KERN_ERR "dtc2278: ide interfaces already in use!\n"); |
153 | return -EBUSY; | 159 | return -EBUSY; |
154 | } | 160 | } |
diff --git a/drivers/ide/legacy/ht6560b.c b/drivers/ide/legacy/ht6560b.c index 19ccd006f205..a2832643c522 100644 --- a/drivers/ide/legacy/ht6560b.c +++ b/drivers/ide/legacy/ht6560b.c | |||
@@ -36,8 +36,6 @@ | |||
36 | 36 | ||
37 | #define HT6560B_VERSION "v0.07" | 37 | #define HT6560B_VERSION "v0.07" |
38 | 38 | ||
39 | #undef REALLY_SLOW_IO /* most systems can safely undef this */ | ||
40 | |||
41 | #include <linux/module.h> | 39 | #include <linux/module.h> |
42 | #include <linux/types.h> | 40 | #include <linux/types.h> |
43 | #include <linux/kernel.h> | 41 | #include <linux/kernel.h> |
@@ -303,12 +301,20 @@ static void tune_ht6560b (ide_drive_t *drive, u8 pio) | |||
303 | #endif | 301 | #endif |
304 | } | 302 | } |
305 | 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 | |||
306 | /* Can be called directly from ide.c. */ | 309 | /* Can be called directly from ide.c. */ |
307 | int __init ht6560b_init(void) | 310 | int __init ht6560b_init(void) |
308 | { | 311 | { |
309 | ide_hwif_t *hwif, *mate; | 312 | ide_hwif_t *hwif, *mate; |
310 | int t; | 313 | int t; |
311 | 314 | ||
315 | if (probe_ht6560b == 0) | ||
316 | return -ENODEV; | ||
317 | |||
312 | hwif = &ide_hwifs[0]; | 318 | hwif = &ide_hwifs[0]; |
313 | mate = &ide_hwifs[1]; | 319 | mate = &ide_hwifs[1]; |
314 | 320 | ||
diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c index a5023cdbdc58..b08c37c9f956 100644 --- a/drivers/ide/legacy/ide-cs.c +++ b/drivers/ide/legacy/ide-cs.c | |||
@@ -359,14 +359,17 @@ void ide_release(struct pcmcia_device *link) | |||
359 | static struct pcmcia_device_id ide_ids[] = { | 359 | static struct pcmcia_device_id ide_ids[] = { |
360 | PCMCIA_DEVICE_FUNC_ID(4), | 360 | PCMCIA_DEVICE_FUNC_ID(4), |
361 | PCMCIA_DEVICE_MANF_CARD(0x0007, 0x0000), /* Hitachi */ | 361 | PCMCIA_DEVICE_MANF_CARD(0x0007, 0x0000), /* Hitachi */ |
362 | PCMCIA_DEVICE_MANF_CARD(0x000a, 0x0000), /* I-O Data CFA */ | ||
363 | PCMCIA_DEVICE_MANF_CARD(0x001c, 0x0001), /* Mitsubishi CFA */ | ||
362 | PCMCIA_DEVICE_MANF_CARD(0x0032, 0x0704), | 364 | PCMCIA_DEVICE_MANF_CARD(0x0032, 0x0704), |
363 | PCMCIA_DEVICE_MANF_CARD(0x0045, 0x0401), | 365 | PCMCIA_DEVICE_MANF_CARD(0x0045, 0x0401), /* SanDisk CFA */ |
364 | PCMCIA_DEVICE_MANF_CARD(0x0098, 0x0000), /* Toshiba */ | 366 | PCMCIA_DEVICE_MANF_CARD(0x0098, 0x0000), /* Toshiba */ |
365 | PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x002d), | 367 | PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x002d), |
366 | PCMCIA_DEVICE_MANF_CARD(0x00ce, 0x0000), /* Samsung */ | 368 | PCMCIA_DEVICE_MANF_CARD(0x00ce, 0x0000), /* Samsung */ |
367 | PCMCIA_DEVICE_MANF_CARD(0x0319, 0x0000), /* Hitachi */ | 369 | PCMCIA_DEVICE_MANF_CARD(0x0319, 0x0000), /* Hitachi */ |
368 | PCMCIA_DEVICE_MANF_CARD(0x2080, 0x0001), | 370 | PCMCIA_DEVICE_MANF_CARD(0x2080, 0x0001), |
369 | PCMCIA_DEVICE_MANF_CARD(0x4e01, 0x0200), /* Lexar */ | 371 | PCMCIA_DEVICE_MANF_CARD(0x4e01, 0x0100), /* Viking CFA */ |
372 | PCMCIA_DEVICE_MANF_CARD(0x4e01, 0x0200), /* Lexar, Viking CFA */ | ||
370 | PCMCIA_DEVICE_PROD_ID123("Caravelle", "PSC-IDE ", "PSC000", 0x8c36137c, 0xd0693ab8, 0x2768a9f0), | 373 | PCMCIA_DEVICE_PROD_ID123("Caravelle", "PSC-IDE ", "PSC000", 0x8c36137c, 0xd0693ab8, 0x2768a9f0), |
371 | PCMCIA_DEVICE_PROD_ID123("CDROM", "IDE", "MCD-601p", 0x1b9179ca, 0xede88951, 0x0d902f74), | 374 | PCMCIA_DEVICE_PROD_ID123("CDROM", "IDE", "MCD-601p", 0x1b9179ca, 0xede88951, 0x0d902f74), |
372 | PCMCIA_DEVICE_PROD_ID123("PCMCIA", "IDE CARD", "F1", 0x281f1c5d, 0x1907960c, 0xf7fde8b9), | 375 | PCMCIA_DEVICE_PROD_ID123("PCMCIA", "IDE CARD", "F1", 0x281f1c5d, 0x1907960c, 0xf7fde8b9), |
diff --git a/drivers/ide/legacy/qd65xx.c b/drivers/ide/legacy/qd65xx.c index d3c3bc2640e7..2fb8f50f1293 100644 --- a/drivers/ide/legacy/qd65xx.c +++ b/drivers/ide/legacy/qd65xx.c | |||
@@ -16,8 +16,8 @@ | |||
16 | * Please set local bus speed using kernel parameter idebus | 16 | * Please set local bus speed using kernel parameter idebus |
17 | * for example, "idebus=33" stands for 33Mhz VLbus | 17 | * for example, "idebus=33" stands for 33Mhz VLbus |
18 | * To activate controller support, use "ide0=qd65xx" | 18 | * To activate controller support, use "ide0=qd65xx" |
19 | * To enable tuning, use "ide0=autotune" | 19 | * To enable tuning, use "hda=autotune hdb=autotune" |
20 | * To enable second channel tuning (qd6580 only), use "ide1=autotune" | 20 | * To enable 2nd channel tuning (qd6580 only), use "hdc=autotune hdd=autotune" |
21 | */ | 21 | */ |
22 | 22 | ||
23 | /* | 23 | /* |
@@ -25,8 +25,6 @@ | |||
25 | * Samuel Thibault <samuel.thibault@fnac.net> | 25 | * Samuel Thibault <samuel.thibault@fnac.net> |
26 | */ | 26 | */ |
27 | 27 | ||
28 | #undef REALLY_SLOW_IO /* most systems can safely undef this */ | ||
29 | |||
30 | #include <linux/module.h> | 28 | #include <linux/module.h> |
31 | #include <linux/types.h> | 29 | #include <linux/types.h> |
32 | #include <linux/kernel.h> | 30 | #include <linux/kernel.h> |
@@ -490,9 +488,17 @@ static int __init qd_probe(int base) | |||
490 | return 1; | 488 | return 1; |
491 | } | 489 | } |
492 | 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 | |||
493 | /* Can be called directly from ide.c. */ | 496 | /* Can be called directly from ide.c. */ |
494 | int __init qd65xx_init(void) | 497 | int __init qd65xx_init(void) |
495 | { | 498 | { |
499 | if (probe_qd65xx == 0) | ||
500 | return -ENODEV; | ||
501 | |||
496 | if (qd_probe(0x30)) | 502 | if (qd_probe(0x30)) |
497 | qd_probe(0xb0); | 503 | qd_probe(0xb0); |
498 | 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 |