diff options
author | Christoph Hellwig <hch@lst.de> | 2021-06-16 15:46:58 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-06-16 16:53:58 +0200 |
commit | b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a (patch) | |
tree | c41a62265a9e8fb40e8d3572a984c5ad8d313b7c /drivers/ide/ide-scan-pci.c | |
parent | m68k: use libata instead of the legacy ide driver (diff) | |
download | linux-b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a.tar.xz linux-b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a.zip |
ide: remove the legacy ide driver
The legay ide driver has been replace with libata starting in 2003 and has
been scheduled for removal for a while. Finally kill it off so that we
can start cleaning up various bits of cruft it forced on the block layer.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/ide/ide-scan-pci.c')
-rw-r--r-- | drivers/ide/ide-scan-pci.c | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/drivers/ide/ide-scan-pci.c b/drivers/ide/ide-scan-pci.c deleted file mode 100644 index b0411a1827a3..000000000000 --- a/drivers/ide/ide-scan-pci.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - * support for probing IDE PCI devices in the PCI bus order - * - * Copyright (c) 1998-2000 Andre Hedrick <andre@linux-ide.org> - * Copyright (c) 1995-1998 Mark Lord - * - * May be copied or modified under the terms of the GNU General Public License - */ - -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/module.h> -#include <linux/ide.h> - -/* - * Module interfaces - */ - -static int pre_init = 1; /* Before first ordered IDE scan */ -static LIST_HEAD(ide_pci_drivers); - -/* - * __ide_pci_register_driver - attach IDE driver - * @driver: pci driver - * @module: owner module of the driver - * - * Registers a driver with the IDE layer. The IDE layer arranges that - * boot time setup is done in the expected device order and then - * hands the controllers off to the core PCI code to do the rest of - * the work. - * - * Returns are the same as for pci_register_driver - */ - -int __ide_pci_register_driver(struct pci_driver *driver, struct module *module, - const char *mod_name) -{ - if (!pre_init) - return __pci_register_driver(driver, module, mod_name); - driver->driver.owner = module; - list_add_tail(&driver->node, &ide_pci_drivers); - return 0; -} -EXPORT_SYMBOL_GPL(__ide_pci_register_driver); - -/** - * ide_scan_pcidev - find an IDE driver for a device - * @dev: PCI device to check - * - * Look for an IDE driver to handle the device we are considering. - * This is only used during boot up to get the ordering correct. After - * boot up the pci layer takes over the job. - */ - -static int __init ide_scan_pcidev(struct pci_dev *dev) -{ - struct list_head *l; - struct pci_driver *d; - int ret; - - list_for_each(l, &ide_pci_drivers) { - d = list_entry(l, struct pci_driver, node); - if (d->id_table) { - const struct pci_device_id *id = - pci_match_id(d->id_table, dev); - - if (id != NULL) { - pci_assign_irq(dev); - ret = d->probe(dev, id); - if (ret >= 0) { - dev->driver = d; - pci_dev_get(dev); - return 1; - } - } - } - } - return 0; -} - -/** - * ide_scan_pcibus - perform the initial IDE driver scan - * - * Perform the initial bus rather than driver ordered scan of the - * PCI drivers. After this all IDE pci handling becomes standard - * module ordering not traditionally ordered. - */ - -static int __init ide_scan_pcibus(void) -{ - struct pci_dev *dev = NULL; - struct pci_driver *d, *tmp; - - pre_init = 0; - for_each_pci_dev(dev) - ide_scan_pcidev(dev); - - /* - * Hand the drivers over to the PCI layer now we - * are post init. - */ - - list_for_each_entry_safe(d, tmp, &ide_pci_drivers, node) { - list_del(&d->node); - if (__pci_register_driver(d, d->driver.owner, - d->driver.mod_name)) - printk(KERN_ERR "%s: failed to register %s driver\n", - __func__, d->driver.mod_name); - } - - return 0; -} -device_initcall(ide_scan_pcibus); |