提交 142877b0 编写于 作者: J Jeff Garzik

[libata sata_sil24] cleanups: use pci_iomap(), kzalloc()

* libata will soon move to iomap, so we should use
  pci_iomap() and pci_iounmap().
* Use kzalloc() where appropriate.
上级 b7ad6d75
...@@ -842,9 +842,10 @@ static void sil24_port_stop(struct ata_port *ap) ...@@ -842,9 +842,10 @@ static void sil24_port_stop(struct ata_port *ap)
static void sil24_host_stop(struct ata_host_set *host_set) static void sil24_host_stop(struct ata_host_set *host_set)
{ {
struct sil24_host_priv *hpriv = host_set->private_data; struct sil24_host_priv *hpriv = host_set->private_data;
struct pci_dev *pdev = to_pci_dev(host_set->dev);
iounmap(hpriv->host_base); pci_iounmap(pdev, hpriv->host_base);
iounmap(hpriv->port_base); pci_iounmap(pdev, hpriv->port_base);
kfree(hpriv); kfree(hpriv);
} }
...@@ -871,26 +872,23 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -871,26 +872,23 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
goto out_disable; goto out_disable;
rc = -ENOMEM; rc = -ENOMEM;
/* ioremap mmio registers */ /* map mmio registers */
host_base = ioremap(pci_resource_start(pdev, 0), host_base = pci_iomap(pdev, 0, 0);
pci_resource_len(pdev, 0));
if (!host_base) if (!host_base)
goto out_free; goto out_free;
port_base = ioremap(pci_resource_start(pdev, 2), port_base = pci_iomap(pdev, 2, 0);
pci_resource_len(pdev, 2));
if (!port_base) if (!port_base)
goto out_free; goto out_free;
/* allocate & init probe_ent and hpriv */ /* allocate & init probe_ent and hpriv */
probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL); probe_ent = kzalloc(sizeof(*probe_ent), GFP_KERNEL);
if (!probe_ent) if (!probe_ent)
goto out_free; goto out_free;
hpriv = kmalloc(sizeof(*hpriv), GFP_KERNEL); hpriv = kzalloc(sizeof(*hpriv), GFP_KERNEL);
if (!hpriv) if (!hpriv)
goto out_free; goto out_free;
memset(probe_ent, 0, sizeof(*probe_ent));
probe_ent->dev = pci_dev_to_dev(pdev); probe_ent->dev = pci_dev_to_dev(pdev);
INIT_LIST_HEAD(&probe_ent->node); INIT_LIST_HEAD(&probe_ent->node);
...@@ -907,7 +905,6 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -907,7 +905,6 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
probe_ent->mmio_base = port_base; probe_ent->mmio_base = port_base;
probe_ent->private_data = hpriv; probe_ent->private_data = hpriv;
memset(hpriv, 0, sizeof(*hpriv));
hpriv->host_base = host_base; hpriv->host_base = host_base;
hpriv->port_base = port_base; hpriv->port_base = port_base;
...@@ -1011,9 +1008,9 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1011,9 +1008,9 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
out_free: out_free:
if (host_base) if (host_base)
iounmap(host_base); pci_iounmap(pdev, host_base);
if (port_base) if (port_base)
iounmap(port_base); pci_iounmap(pdev, port_base);
kfree(probe_ent); kfree(probe_ent);
kfree(hpriv); kfree(hpriv);
pci_release_regions(pdev); pci_release_regions(pdev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册