mirror of https://gitee.com/openkylin/linux.git
[libata ahci] minor remove/unplug path cleanup
Don't bother calling a hook, to call our own module, to call a helper than simply calls ionumap(). If you unroll all that convolution, you get a simple kfree()+iounmap() pair of calls.
This commit is contained in:
parent
1fdab81e67
commit
e005f01de3
|
@ -189,7 +189,6 @@ static void ahci_irq_clear(struct ata_port *ap);
|
||||||
static void ahci_eng_timeout(struct ata_port *ap);
|
static void ahci_eng_timeout(struct ata_port *ap);
|
||||||
static int ahci_port_start(struct ata_port *ap);
|
static int ahci_port_start(struct ata_port *ap);
|
||||||
static void ahci_port_stop(struct ata_port *ap);
|
static void ahci_port_stop(struct ata_port *ap);
|
||||||
static void ahci_host_stop(struct ata_host_set *host_set);
|
|
||||||
static void ahci_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
|
static void ahci_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
|
||||||
static void ahci_qc_prep(struct ata_queued_cmd *qc);
|
static void ahci_qc_prep(struct ata_queued_cmd *qc);
|
||||||
static u8 ahci_check_status(struct ata_port *ap);
|
static u8 ahci_check_status(struct ata_port *ap);
|
||||||
|
@ -242,7 +241,6 @@ static struct ata_port_operations ahci_ops = {
|
||||||
|
|
||||||
.port_start = ahci_port_start,
|
.port_start = ahci_port_start,
|
||||||
.port_stop = ahci_port_stop,
|
.port_stop = ahci_port_stop,
|
||||||
.host_stop = ahci_host_stop,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ata_port_info ahci_port_info[] = {
|
static struct ata_port_info ahci_port_info[] = {
|
||||||
|
@ -301,14 +299,6 @@ static inline void *ahci_port_base (void *base, unsigned int port)
|
||||||
return (void *) ahci_port_base_ul((unsigned long)base, port);
|
return (void *) ahci_port_base_ul((unsigned long)base, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ahci_host_stop(struct ata_host_set *host_set)
|
|
||||||
{
|
|
||||||
struct ahci_host_priv *hpriv = host_set->private_data;
|
|
||||||
kfree(hpriv);
|
|
||||||
|
|
||||||
ata_host_stop(host_set);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ahci_port_start(struct ata_port *ap)
|
static int ahci_port_start(struct ata_port *ap)
|
||||||
{
|
{
|
||||||
struct device *dev = ap->host_set->dev;
|
struct device *dev = ap->host_set->dev;
|
||||||
|
@ -1089,7 +1079,8 @@ static void ahci_remove_one (struct pci_dev *pdev)
|
||||||
scsi_host_put(ap->host);
|
scsi_host_put(ap->host);
|
||||||
}
|
}
|
||||||
|
|
||||||
host_set->ops->host_stop(host_set);
|
kfree(hpriv);
|
||||||
|
iounmap(host_set->mmio_base);
|
||||||
kfree(host_set);
|
kfree(host_set);
|
||||||
|
|
||||||
if (have_msi)
|
if (have_msi)
|
||||||
|
@ -1106,7 +1097,6 @@ static int __init ahci_init(void)
|
||||||
return pci_module_init(&ahci_pci_driver);
|
return pci_module_init(&ahci_pci_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void __exit ahci_exit(void)
|
static void __exit ahci_exit(void)
|
||||||
{
|
{
|
||||||
pci_unregister_driver(&ahci_pci_driver);
|
pci_unregister_driver(&ahci_pci_driver);
|
||||||
|
|
Loading…
Reference in New Issue