diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-15 16:53:20 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-15 16:53:33 -0700 |
commit | 066519068ad2fbe98c7f45552b1f592903a9c8c8 (patch) | |
tree | a1c286887f60482325a6b18d9ca4373b5e9428bd /drivers/ide/ide-generic.c | |
parent | b92dea67cc66970cda6b5b11895d08e35b4618e7 (diff) | |
parent | 0cbccbc30a60ff60dbeb203154f1f527c632de9b (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
ide-generic: don't probe all legacy ISA IDE ports by default
ide-cs: fix releasing I/O resources
ide-cs: fix probing and add warm-plug support
ide-pmac: remove bogus comment about pmac_ide_setup_device()
ide-pmac: add ->cable_detect method
ide-pmac: bugfix for media-bay support rework
opti621: add PIO 4 support
opti621: use pre-calculated PIO timings
opti621: program devices timings separately in ->set_pio_mode
opti621: use PCI clock value provided by controller
opti621: remove DMA support
opti621: disable read prefetch
Diffstat (limited to 'drivers/ide/ide-generic.c')
-rw-r--r-- | drivers/ide/ide-generic.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c index 9134488ac043..2d92214096ab 100644 --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c @@ -22,6 +22,10 @@ #define DRV_NAME "ide_generic" +static int probe_mask = 0x03; +module_param(probe_mask, int, 0); +MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports"); + static ssize_t store_add(struct class *cls, const char *buf, size_t n) { ide_hwif_t *hwif; @@ -89,6 +93,9 @@ static int __init ide_generic_init(void) u8 idx[MAX_HWIFS]; int i; + printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" module " + "parameter for probing all legacy ISA IDE ports\n"); + for (i = 0; i < MAX_HWIFS; i++) { ide_hwif_t *hwif; unsigned long io_addr = ide_default_io_base(i); @@ -96,7 +103,7 @@ static int __init ide_generic_init(void) idx[i] = 0xff; - if (io_addr) { + if ((probe_mask & (1 << i)) && io_addr) { if (!request_region(io_addr, 8, DRV_NAME)) { printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX " "not free.\n", |