aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-05-09 18:01:11 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-05-09 18:01:11 -0400
commit6d208b39c45edee5def6c201fcd51561c5a39828 (patch)
tree55645d2b6173e3161d12e5c9efdc4bd052b75b56 /include/linux
parent5cbf79cdb37be2aa2a1b4fa94144526b14557060 (diff)
ide: legacy PCI bus order probing fixes
IDE PCI host drivers should register themselves with IDE core only when IDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI host drivers are also modular) the code has no effect and just complicates the probing. Fix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when needed and invisible to the user) and covering by #ifdef/#endif the code in question. It turned out that "ide=reverse" was silently accepted but did nothing in case when IDE driver was modular, this is fixed now. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ide.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 52d482a16dd9..df4e6a510310 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1205,9 +1205,14 @@ void ide_init_disk(struct gendisk *, ide_drive_t *);
1205 1205
1206extern int ideprobe_init(void); 1206extern int ideprobe_init(void);
1207 1207
1208#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
1208extern void ide_scan_pcibus(int scan_direction) __init; 1209extern void ide_scan_pcibus(int scan_direction) __init;
1209extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *owner, const char *mod_name); 1210extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *owner, const char *mod_name);
1210#define ide_pci_register_driver(d) __ide_pci_register_driver(d, THIS_MODULE, KBUILD_MODNAME) 1211#define ide_pci_register_driver(d) __ide_pci_register_driver(d, THIS_MODULE, KBUILD_MODNAME)
1212#else
1213#define ide_pci_register_driver(d) pci_register_driver(d)
1214#endif
1215
1211void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, ata_index_t *); 1216void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, ata_index_t *);
1212extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); 1217extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d);
1213 1218