aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/legacy
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-04 16:31:00 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-04 16:31:00 -0500
commit20b0f65d35ae45d43f363ace3744a775a752d265 (patch)
tree6085d058cb5ce12bc07368ed897c3689f5239389 /drivers/ide/legacy
parent70077f2fab35ed3d73631fc47d8c572b560ecabd (diff)
parent849138827c962589ac50496fa7feeb2a2d51b467 (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.c11
-rw-r--r--drivers/ide/legacy/dtc2278.c14
-rw-r--r--drivers/ide/legacy/ht6560b.c10
-rw-r--r--drivers/ide/legacy/ide-cs.c7
-rw-r--r--drivers/ide/legacy/qd65xx.c14
-rw-r--r--drivers/ide/legacy/umc8672.c15
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
231int probe_ali14xx = 0;
232
233module_param_named(probe, probe_ali14xx, bool, 0);
234MODULE_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. */
234int __init ali14xx_init(void) 237int __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");
249out:
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
97static int __init probe_dtc2278(void) 95static 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
146int probe_dtc2278 = 0;
147
148module_param_named(probe, probe_dtc2278, bool, 0);
149MODULE_PARM_DESC(probe, "probe for DTC2278xx chipsets");
150
148/* Can be called directly from ide.c. */ 151/* Can be called directly from ide.c. */
149int __init dtc2278_init(void) 152int __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
304int probe_ht6560b = 0;
305
306module_param_named(probe, probe_ht6560b, bool, 0);
307MODULE_PARM_DESC(probe, "probe for HT6560B chipset");
308
306/* Can be called directly from ide.c. */ 309/* Can be called directly from ide.c. */
307int __init ht6560b_init(void) 310int __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)
359static struct pcmcia_device_id ide_ids[] = { 359static 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
491int probe_qd65xx = 0;
492
493module_param_named(probe, probe_qd65xx, bool, 0);
494MODULE_PARM_DESC(probe, "probe for QD65xx chipsets");
495
493/* Can be called directly from ide.c. */ 496/* Can be called directly from ide.c. */
494int __init qd65xx_init(void) 497int __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
168int probe_umc8672 = 0;
169
170module_param_named(probe, probe_umc8672, bool, 0);
171MODULE_PARM_DESC(probe, "probe for UMC8672 chipset");
172
168/* Can be called directly from ide.c. */ 173/* Can be called directly from ide.c. */
169int __init umc8672_init(void) 174int __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;;
181out:
182 return -ENODEV;;
174} 183}
175 184
176#ifdef MODULE 185#ifdef MODULE