diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-03-03 11:48:55 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-03-03 11:48:55 -0500 |
commit | 849138827c962589ac50496fa7feeb2a2d51b467 (patch) | |
tree | 3b7988c756068f00ccf8a1440a0f3709a241bcad /drivers/ide/legacy/dtc2278.c | |
parent | b6209a90eca8c9a464bf9c5b91741fb125185619 (diff) |
ide: make legacy IDE VLB modules check for the "probe" kernel params (v2)
Legacy IDE VLB host drivers didn't check for "probe" options when compiled
as modules, which was obviously wrong as we don't want module to poke at
random I/O ports by simply loading it. Fix it by adding "probe" module param
to legacy IDE VLB host drivers.
v2:
* don't obsolete old "ide0=dtc2278/ht6560b/qd65xx/ali14xx/umc8672"
IDE driver options yet (per Alan Cox's request) and enhance documentation
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/legacy/dtc2278.c')
-rw-r--r-- | drivers/ide/legacy/dtc2278.c | 12 |
1 files changed, 10 insertions, 2 deletions
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 | } |