ata: ahci_st: remove deprecated struct ahci_platform_data usage

struct ahci_platform_data is deprecated (please see comments in
<linux/ahci_platform.h> for details).  Convert ahci_st driver to
use custom ->host_stop method instead.

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2014-03-14 19:21:59 +01:00 committed by Tejun Heo
parent 33081b3468
commit b032378b4c

View file

@ -87,10 +87,11 @@ static int st_ahci_deassert_resets(struct device *dev)
return 0; return 0;
} }
static void st_ahci_exit(struct device *dev) static void st_ahci_host_stop(struct ata_host *host)
{ {
struct ahci_host_priv *hpriv = host->private_data;
struct device *dev = host->dev;
struct st_ahci_drv_data *drv_data = dev_get_drvdata(dev); struct st_ahci_drv_data *drv_data = dev_get_drvdata(dev);
struct ahci_host_priv *hpriv = drv_data->hpriv;
int err; int err;
if (drv_data->pwr) { if (drv_data->pwr) {
@ -127,17 +128,21 @@ static int st_ahci_probe_resets(struct platform_device *pdev)
return st_ahci_deassert_resets(&pdev->dev); return st_ahci_deassert_resets(&pdev->dev);
} }
static struct ata_port_operations st_ahci_port_ops = {
.inherits = &ahci_platform_ops,
.host_stop = st_ahci_host_stop,
};
static const struct ata_port_info st_ahci_port_info = { static const struct ata_port_info st_ahci_port_info = {
.flags = AHCI_FLAG_COMMON, .flags = AHCI_FLAG_COMMON,
.pio_mask = ATA_PIO4, .pio_mask = ATA_PIO4,
.udma_mask = ATA_UDMA6, .udma_mask = ATA_UDMA6,
.port_ops = &ahci_platform_ops, .port_ops = &st_ahci_port_ops,
}; };
static int st_ahci_probe(struct platform_device *pdev) static int st_ahci_probe(struct platform_device *pdev)
{ {
struct st_ahci_drv_data *drv_data; struct st_ahci_drv_data *drv_data;
struct ahci_platform_data *pdata;
struct ahci_host_priv *hpriv; struct ahci_host_priv *hpriv;
int err; int err;
@ -147,13 +152,6 @@ static int st_ahci_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, drv_data); platform_set_drvdata(pdev, drv_data);
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata)
return -ENOMEM;
pdata->exit = st_ahci_exit;
pdev->dev.platform_data = pdata;
hpriv = ahci_platform_get_resources(pdev); hpriv = ahci_platform_get_resources(pdev);
if (IS_ERR(hpriv)) if (IS_ERR(hpriv))
return PTR_ERR(hpriv); return PTR_ERR(hpriv);