Skip to content

Commit

Permalink
ata: remove deprecated struct ahci_platform_data
Browse files Browse the repository at this point in the history
The last user of the deprecated struct ahci_platform_data has been
cleaned up recently (SPEAr1340 got a proper PHY driver).

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
  • Loading branch information
Bartlomiej Zolnierkiewicz authored and Tejun Heo committed Aug 16, 2014
1 parent 88ec63d commit 515d9b2
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 53 deletions.
18 changes: 1 addition & 17 deletions drivers/ata/ahci_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ static const struct ata_port_info ahci_port_info = {
static int ahci_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ahci_host_priv *hpriv;
int rc;

Expand All @@ -44,29 +43,14 @@ static int ahci_probe(struct platform_device *pdev)
if (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"))
hpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ;

rc = ahci_platform_init_host(pdev, hpriv, &ahci_port_info);
if (rc)
goto pdata_exit;
goto disable_resources;

return 0;
pdata_exit:
if (pdata && pdata->exit)
pdata->exit(dev);
disable_resources:
ahci_platform_disable_resources(hpriv);
return rc;
Expand Down
23 changes: 0 additions & 23 deletions drivers/ata/libahci_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -502,13 +502,8 @@ EXPORT_SYMBOL_GPL(ahci_platform_init_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;

if (pdata && pdata->exit)
pdata->exit(dev);

ahci_platform_disable_resources(hpriv);
}

Expand Down Expand Up @@ -592,7 +587,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_resume_host);
*/
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 ahci_host_priv *hpriv = host->private_data;
int rc;
Expand All @@ -601,19 +595,9 @@ int ahci_platform_suspend(struct device *dev)
if (rc)
return rc;

if (pdata && pdata->suspend) {
rc = pdata->suspend(dev);
if (rc)
goto resume_host;
}

ahci_platform_disable_resources(hpriv);

return 0;

resume_host:
ahci_platform_resume_host(dev);
return rc;
}
EXPORT_SYMBOL_GPL(ahci_platform_suspend);

Expand All @@ -629,7 +613,6 @@ EXPORT_SYMBOL_GPL(ahci_platform_suspend);
*/
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 ahci_host_priv *hpriv = host->private_data;
int rc;
Expand All @@ -638,12 +621,6 @@ int ahci_platform_resume(struct device *dev)
if (rc)
return rc;

if (pdata && pdata->resume) {
rc = pdata->resume(dev);
if (rc)
goto disable_resources;
}

rc = ahci_platform_resume_host(dev);
if (rc)
goto disable_resources;
Expand Down
13 changes: 0 additions & 13 deletions include/linux/ahci_platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,6 @@ struct ata_port_info;
struct ahci_host_priv;
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);
void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
Expand Down

0 comments on commit 515d9b2

Please sign in to comment.