From d24f36d352bb9fb72b6611bdca41adbb41cb13ba Mon Sep 17 00:00:00 2001 From: Andres Salomon Date: Thu, 17 Feb 2011 19:07:13 -0800 Subject: [PATCH] mfd: mfd_cell is now implicitly available to asic3 drivers No need to explicitly set the cell's platform_data/data_size. Modify clients to use mfd_get_cell helper function instead of accessing platform_data directly. Signed-off-by: Andres Salomon Signed-off-by: Samuel Ortiz --- drivers/mfd/asic3.c | 6 ------ drivers/mmc/host/tmio_mmc.c | 24 ++++++++++++------------ drivers/w1/masters/ds1wm.c | 2 +- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c index c45e6305b26f..bd97639cd83a 100644 --- a/drivers/mfd/asic3.c +++ b/drivers/mfd/asic3.c @@ -810,9 +810,6 @@ static int __init asic3_mfd_probe(struct platform_device *pdev, ds1wm_resources[0].start >>= asic->bus_shift; ds1wm_resources[0].end >>= asic->bus_shift; - asic3_cell_ds1wm.platform_data = &asic3_cell_ds1wm; - asic3_cell_ds1wm.data_size = sizeof(asic3_cell_ds1wm); - /* MMC */ asic->tmio_cnf = ioremap((ASIC3_SD_CONFIG_BASE >> asic->bus_shift) + mem_sdio->start, 0x400 >> asic->bus_shift); @@ -824,9 +821,6 @@ static int __init asic3_mfd_probe(struct platform_device *pdev, asic3_mmc_resources[0].start >>= asic->bus_shift; asic3_mmc_resources[0].end >>= asic->bus_shift; - asic3_cell_mmc.platform_data = &asic3_cell_mmc; - asic3_cell_mmc.data_size = sizeof(asic3_cell_mmc); - ret = mfd_add_devices(&pdev->dev, pdev->id, &asic3_cell_ds1wm, 1, mem, asic->irq_base); if (ret < 0) diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c index ac52eb65395e..67c9d0f595ef 100644 --- a/drivers/mmc/host/tmio_mmc.c +++ b/drivers/mmc/host/tmio_mmc.c @@ -303,7 +303,7 @@ static void tmio_mmc_set_clock(struct tmio_mmc_host *host, int new_clock) static void tmio_mmc_clk_stop(struct tmio_mmc_host *host) { - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; /* @@ -327,7 +327,7 @@ static void tmio_mmc_clk_stop(struct tmio_mmc_host *host) static void tmio_mmc_clk_start(struct tmio_mmc_host *host) { - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, 0x0100 | @@ -669,7 +669,7 @@ static void tmio_mmc_cmd_irq(struct tmio_mmc_host *host, static irqreturn_t tmio_mmc_irq(int irq, void *devid) { struct tmio_mmc_host *host = devid; - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; unsigned int ireg, irq_mask, status; unsigned int sdio_ireg, sdio_irq_mask, sdio_status; @@ -799,7 +799,7 @@ static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host) struct scatterlist *sg = host->sg_ptr, *sg_tmp; struct dma_async_tx_descriptor *desc = NULL; struct dma_chan *chan = host->chan_rx; - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; dma_cookie_t cookie; int ret, i; @@ -869,7 +869,7 @@ static void tmio_mmc_start_dma_tx(struct tmio_mmc_host *host) struct scatterlist *sg = host->sg_ptr, *sg_tmp; struct dma_async_tx_descriptor *desc = NULL; struct dma_chan *chan = host->chan_tx; - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; dma_cookie_t cookie; int ret, i; @@ -1063,7 +1063,7 @@ static void tmio_mmc_release_dma(struct tmio_mmc_host *host) static int tmio_mmc_start_data(struct tmio_mmc_host *host, struct mmc_data *data) { - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; pr_debug("setup data transfer: blocksize %08x nr_blocks %d\n", @@ -1169,7 +1169,7 @@ static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) static int tmio_mmc_get_ro(struct mmc_host *mmc) { struct tmio_mmc_host *host = mmc_priv(mmc); - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; return ((pdata->flags & TMIO_MMC_WRPROTECT_DISABLE) || @@ -1179,7 +1179,7 @@ static int tmio_mmc_get_ro(struct mmc_host *mmc) static int tmio_mmc_get_cd(struct mmc_host *mmc) { struct tmio_mmc_host *host = mmc_priv(mmc); - struct mfd_cell *cell = host->pdev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(host->pdev); struct tmio_mmc_data *pdata = cell->driver_data; if (!pdata->get_cd) @@ -1199,7 +1199,7 @@ static const struct mmc_host_ops tmio_mmc_ops = { #ifdef CONFIG_PM static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state) { - struct mfd_cell *cell = (struct mfd_cell *)dev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(dev); struct mmc_host *mmc = platform_get_drvdata(dev); int ret; @@ -1214,7 +1214,7 @@ static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state) static int tmio_mmc_resume(struct platform_device *dev) { - struct mfd_cell *cell = (struct mfd_cell *)dev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(dev); struct mmc_host *mmc = platform_get_drvdata(dev); int ret = 0; @@ -1237,7 +1237,7 @@ static int tmio_mmc_resume(struct platform_device *dev) static int __devinit tmio_mmc_probe(struct platform_device *dev) { - struct mfd_cell *cell = (struct mfd_cell *)dev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(dev); struct tmio_mmc_data *pdata; struct resource *res_ctl; struct tmio_mmc_host *host; @@ -1352,7 +1352,7 @@ static int __devinit tmio_mmc_probe(struct platform_device *dev) static int __devexit tmio_mmc_remove(struct platform_device *dev) { - struct mfd_cell *cell = (struct mfd_cell *)dev->dev.platform_data; + struct mfd_cell *cell = mfd_get_cell(dev); struct mmc_host *mmc = platform_get_drvdata(dev); platform_set_drvdata(dev, NULL); diff --git a/drivers/w1/masters/ds1wm.c b/drivers/w1/masters/ds1wm.c index 6b85e7fefa43..94f55d80f9ac 100644 --- a/drivers/w1/masters/ds1wm.c +++ b/drivers/w1/masters/ds1wm.c @@ -336,7 +336,7 @@ static int ds1wm_probe(struct platform_device *pdev) if (!pdev) return -ENODEV; - cell = pdev->dev.platform_data; + cell = mfd_get_cell(pdev); if (!cell) return -ENODEV;