Commit 515d9b2c authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Tejun Heo

ata: remove deprecated struct ahci_platform_data

The last user of the deprecated struct ahci_platform_data has been
cleaned up recently (SPEAr1340 got a proper PHY driver).
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 88ec63d6
...@@ -32,7 +32,6 @@ static const struct ata_port_info ahci_port_info = { ...@@ -32,7 +32,6 @@ static const struct ata_port_info ahci_port_info = {
static int ahci_probe(struct platform_device *pdev) static int ahci_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ahci_host_priv *hpriv; struct ahci_host_priv *hpriv;
int rc; int rc;
...@@ -44,29 +43,14 @@ static int ahci_probe(struct platform_device *pdev) ...@@ -44,29 +43,14 @@ static int ahci_probe(struct platform_device *pdev)
if (rc) if (rc)
return rc; return rc;
/*
* Some platforms might need to prepare for mmio region access,
* which could be done in the following init call. So, the mmio
* region shouldn't be accessed before init (if provided) has
* returned successfully.
*/
if (pdata && pdata->init) {
rc = pdata->init(dev, hpriv->mmio);
if (rc)
goto disable_resources;
}
if (of_device_is_compatible(dev->of_node, "hisilicon,hisi-ahci")) if (of_device_is_compatible(dev->of_node, "hisilicon,hisi-ahci"))
hpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ; hpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ;
rc = ahci_platform_init_host(pdev, hpriv, &ahci_port_info); rc = ahci_platform_init_host(pdev, hpriv, &ahci_port_info);
if (rc) if (rc)
goto pdata_exit; goto disable_resources;
return 0; return 0;
pdata_exit:
if (pdata && pdata->exit)
pdata->exit(dev);
disable_resources: disable_resources:
ahci_platform_disable_resources(hpriv); ahci_platform_disable_resources(hpriv);
return rc; return rc;
......
...@@ -502,13 +502,8 @@ EXPORT_SYMBOL_GPL(ahci_platform_init_host); ...@@ -502,13 +502,8 @@ EXPORT_SYMBOL_GPL(ahci_platform_init_host);
static void ahci_host_stop(struct ata_host *host) static void ahci_host_stop(struct ata_host *host)
{ {
struct device *dev = host->dev;
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ahci_host_priv *hpriv = host->private_data; struct ahci_host_priv *hpriv = host->private_data;
if (pdata && pdata->exit)
pdata->exit(dev);
ahci_platform_disable_resources(hpriv); ahci_platform_disable_resources(hpriv);
} }
...@@ -592,7 +587,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_resume_host); ...@@ -592,7 +587,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_resume_host);
*/ */
int ahci_platform_suspend(struct device *dev) int ahci_platform_suspend(struct device *dev)
{ {
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ata_host *host = dev_get_drvdata(dev); struct ata_host *host = dev_get_drvdata(dev);
struct ahci_host_priv *hpriv = host->private_data; struct ahci_host_priv *hpriv = host->private_data;
int rc; int rc;
...@@ -601,19 +595,9 @@ int ahci_platform_suspend(struct device *dev) ...@@ -601,19 +595,9 @@ int ahci_platform_suspend(struct device *dev)
if (rc) if (rc)
return rc; return rc;
if (pdata && pdata->suspend) {
rc = pdata->suspend(dev);
if (rc)
goto resume_host;
}
ahci_platform_disable_resources(hpriv); ahci_platform_disable_resources(hpriv);
return 0; return 0;
resume_host:
ahci_platform_resume_host(dev);
return rc;
} }
EXPORT_SYMBOL_GPL(ahci_platform_suspend); EXPORT_SYMBOL_GPL(ahci_platform_suspend);
...@@ -629,7 +613,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_suspend); ...@@ -629,7 +613,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_suspend);
*/ */
int ahci_platform_resume(struct device *dev) int ahci_platform_resume(struct device *dev)
{ {
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ata_host *host = dev_get_drvdata(dev); struct ata_host *host = dev_get_drvdata(dev);
struct ahci_host_priv *hpriv = host->private_data; struct ahci_host_priv *hpriv = host->private_data;
int rc; int rc;
...@@ -638,12 +621,6 @@ int ahci_platform_resume(struct device *dev) ...@@ -638,12 +621,6 @@ int ahci_platform_resume(struct device *dev)
if (rc) if (rc)
return rc; return rc;
if (pdata && pdata->resume) {
rc = pdata->resume(dev);
if (rc)
goto disable_resources;
}
rc = ahci_platform_resume_host(dev); rc = ahci_platform_resume_host(dev);
if (rc) if (rc)
goto disable_resources; goto disable_resources;
......
...@@ -22,19 +22,6 @@ struct ata_port_info; ...@@ -22,19 +22,6 @@ struct ata_port_info;
struct ahci_host_priv; struct ahci_host_priv;
struct platform_device; struct platform_device;
/*
* Note ahci_platform_data is deprecated, it is only kept around for use
* by the old da850 and spear13xx ahci code.
* New drivers should instead declare their own platform_driver struct, and
* use ahci_platform* functions in their own probe, suspend and resume methods.
*/
struct ahci_platform_data {
int (*init)(struct device *dev, void __iomem *addr);
void (*exit)(struct device *dev);
int (*suspend)(struct device *dev);
int (*resume)(struct device *dev);
};
int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment