|
@@ -5505,31 +5505,6 @@ int ata_port_start(struct ata_port *ap)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * ata_port_stop - Undo ata_port_start()
|
|
|
- * @ap: Port to shut down
|
|
|
- *
|
|
|
- * Frees the PRD table.
|
|
|
- *
|
|
|
- * May be used as the port_stop() entry in ata_port_operations.
|
|
|
- *
|
|
|
- * LOCKING:
|
|
|
- * Inherited from caller.
|
|
|
- */
|
|
|
-void ata_port_stop (struct ata_port *ap)
|
|
|
-{
|
|
|
- struct device *dev = ap->dev;
|
|
|
-
|
|
|
- dmam_free_coherent(dev, ATA_PRD_TBL_SZ, ap->prd, ap->prd_dma);
|
|
|
- ata_pad_free(ap, dev);
|
|
|
-}
|
|
|
-
|
|
|
-void ata_host_stop (struct ata_host *host)
|
|
|
-{
|
|
|
- if (host->mmio_base)
|
|
|
- iounmap(host->mmio_base);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* ata_dev_init - Initialize an ata_device structure
|
|
|
* @dev: Device structure to initialize
|
|
@@ -5869,7 +5844,7 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
|
|
}
|
|
|
|
|
|
/* resource acquisition complete */
|
|
|
- devres_close_group(dev, ata_device_add);
|
|
|
+ devres_remove_group(dev, ata_device_add);
|
|
|
|
|
|
/* perform each probe synchronously */
|
|
|
DPRINTK("probe begin\n");
|
|
@@ -6024,22 +5999,6 @@ void ata_host_detach(struct ata_host *host)
|
|
|
ata_port_detach(host->ports[i]);
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * ata_host_remove - PCI layer callback for device removal
|
|
|
- * @host: ATA host set that was removed
|
|
|
- *
|
|
|
- * Unregister all objects associated with this host set. Free those
|
|
|
- * objects.
|
|
|
- *
|
|
|
- * LOCKING:
|
|
|
- * Inherited from calling layer (may sleep).
|
|
|
- */
|
|
|
-void ata_host_remove(struct ata_host *host)
|
|
|
-{
|
|
|
- ata_host_detach(host);
|
|
|
- devres_release_group(host->dev, ata_device_add);
|
|
|
-}
|
|
|
-
|
|
|
struct ata_probe_ent *
|
|
|
ata_probe_ent_alloc(struct device *dev, const struct ata_port_info *port)
|
|
|
{
|
|
@@ -6099,26 +6058,13 @@ void ata_std_ports(struct ata_ioports *ioaddr)
|
|
|
|
|
|
#ifdef CONFIG_PCI
|
|
|
|
|
|
-void ata_pci_host_stop (struct ata_host *host)
|
|
|
-{
|
|
|
- struct pci_dev *pdev = to_pci_dev(host->dev);
|
|
|
-
|
|
|
- /* XXX - the following if can go away once all LLDs are managed */
|
|
|
- if (!list_empty(&host->dev->devres_head))
|
|
|
- pcim_iounmap(pdev, host->mmio_base);
|
|
|
- else
|
|
|
- pci_iounmap(pdev, host->mmio_base);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* ata_pci_remove_one - PCI layer callback for device removal
|
|
|
* @pdev: PCI device that was removed
|
|
|
*
|
|
|
- * PCI layer indicates to libata via this hook that
|
|
|
- * hot-unplug or module unload event has occurred.
|
|
|
- * Handle this by unregistering all objects associated
|
|
|
- * with this PCI device. Free those objects. Then finally
|
|
|
- * release PCI resources and disable device.
|
|
|
+ * PCI layer indicates to libata via this hook that hot-unplug or
|
|
|
+ * module unload event has occurred. Detach all ports. Resource
|
|
|
+ * release is handled via devres.
|
|
|
*
|
|
|
* LOCKING:
|
|
|
* Inherited from PCI layer (may sleep).
|
|
@@ -6128,14 +6074,7 @@ void ata_pci_remove_one(struct pci_dev *pdev)
|
|
|
struct device *dev = pci_dev_to_dev(pdev);
|
|
|
struct ata_host *host = dev_get_drvdata(dev);
|
|
|
|
|
|
- /* XXX - the following if can go away once all LLDs are managed */
|
|
|
- if (!list_empty(&host->dev->devres_head)) {
|
|
|
- ata_host_remove(host);
|
|
|
- pci_release_regions(pdev);
|
|
|
- pci_disable_device(pdev);
|
|
|
- dev_set_drvdata(dev, NULL);
|
|
|
- } else
|
|
|
- ata_host_detach(host);
|
|
|
+ ata_host_detach(host);
|
|
|
}
|
|
|
|
|
|
/* move to PCI subsystem */
|
|
@@ -6189,11 +6128,7 @@ int ata_pci_device_do_resume(struct pci_dev *pdev)
|
|
|
pci_set_power_state(pdev, PCI_D0);
|
|
|
pci_restore_state(pdev);
|
|
|
|
|
|
- /* XXX - the following if can go away once all LLDs are managed */
|
|
|
- if (!list_empty(&pdev->dev.devres_head))
|
|
|
- rc = pcim_enable_device(pdev);
|
|
|
- else
|
|
|
- rc = pci_enable_device(pdev);
|
|
|
+ rc = pcim_enable_device(pdev);
|
|
|
if (rc) {
|
|
|
dev_printk(KERN_ERR, &pdev->dev,
|
|
|
"failed to enable device after resume (%d)\n", rc);
|
|
@@ -6373,7 +6308,6 @@ EXPORT_SYMBOL_GPL(ata_std_ports);
|
|
|
EXPORT_SYMBOL_GPL(ata_host_init);
|
|
|
EXPORT_SYMBOL_GPL(ata_device_add);
|
|
|
EXPORT_SYMBOL_GPL(ata_host_detach);
|
|
|
-EXPORT_SYMBOL_GPL(ata_host_remove);
|
|
|
EXPORT_SYMBOL_GPL(ata_sg_init);
|
|
|
EXPORT_SYMBOL_GPL(ata_sg_init_one);
|
|
|
EXPORT_SYMBOL_GPL(ata_hsm_move);
|
|
@@ -6390,8 +6324,6 @@ EXPORT_SYMBOL_GPL(ata_check_status);
|
|
|
EXPORT_SYMBOL_GPL(ata_altstatus);
|
|
|
EXPORT_SYMBOL_GPL(ata_exec_command);
|
|
|
EXPORT_SYMBOL_GPL(ata_port_start);
|
|
|
-EXPORT_SYMBOL_GPL(ata_port_stop);
|
|
|
-EXPORT_SYMBOL_GPL(ata_host_stop);
|
|
|
EXPORT_SYMBOL_GPL(ata_interrupt);
|
|
|
EXPORT_SYMBOL_GPL(ata_mmio_data_xfer);
|
|
|
EXPORT_SYMBOL_GPL(ata_pio_data_xfer);
|
|
@@ -6452,7 +6384,6 @@ EXPORT_SYMBOL_GPL(ata_timing_merge);
|
|
|
|
|
|
#ifdef CONFIG_PCI
|
|
|
EXPORT_SYMBOL_GPL(pci_test_config_bits);
|
|
|
-EXPORT_SYMBOL_GPL(ata_pci_host_stop);
|
|
|
EXPORT_SYMBOL_GPL(ata_pci_init_native_mode);
|
|
|
EXPORT_SYMBOL_GPL(ata_pci_init_one);
|
|
|
EXPORT_SYMBOL_GPL(ata_pci_remove_one);
|