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 <dilinger@queued.net>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Andres Salomon 2011-02-17 19:07:13 -08:00 committed by Samuel Ortiz
parent 5528e40f97
commit d24f36d352
3 changed files with 13 additions and 19 deletions

View File

@ -810,9 +810,6 @@ static int __init asic3_mfd_probe(struct platform_device *pdev,
ds1wm_resources[0].start >>= asic->bus_shift; ds1wm_resources[0].start >>= asic->bus_shift;
ds1wm_resources[0].end >>= 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 */ /* MMC */
asic->tmio_cnf = ioremap((ASIC3_SD_CONFIG_BASE >> asic->bus_shift) + asic->tmio_cnf = ioremap((ASIC3_SD_CONFIG_BASE >> asic->bus_shift) +
mem_sdio->start, 0x400 >> 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].start >>= asic->bus_shift;
asic3_mmc_resources[0].end >>= 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, ret = mfd_add_devices(&pdev->dev, pdev->id,
&asic3_cell_ds1wm, 1, mem, asic->irq_base); &asic3_cell_ds1wm, 1, mem, asic->irq_base);
if (ret < 0) if (ret < 0)

View File

@ -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) 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; 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) 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; struct tmio_mmc_data *pdata = cell->driver_data;
sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, 0x0100 | 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) static irqreturn_t tmio_mmc_irq(int irq, void *devid)
{ {
struct tmio_mmc_host *host = 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; struct tmio_mmc_data *pdata = cell->driver_data;
unsigned int ireg, irq_mask, status; unsigned int ireg, irq_mask, status;
unsigned int sdio_ireg, sdio_irq_mask, sdio_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 scatterlist *sg = host->sg_ptr, *sg_tmp;
struct dma_async_tx_descriptor *desc = NULL; struct dma_async_tx_descriptor *desc = NULL;
struct dma_chan *chan = host->chan_rx; 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; struct tmio_mmc_data *pdata = cell->driver_data;
dma_cookie_t cookie; dma_cookie_t cookie;
int ret, i; 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 scatterlist *sg = host->sg_ptr, *sg_tmp;
struct dma_async_tx_descriptor *desc = NULL; struct dma_async_tx_descriptor *desc = NULL;
struct dma_chan *chan = host->chan_tx; 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; struct tmio_mmc_data *pdata = cell->driver_data;
dma_cookie_t cookie; dma_cookie_t cookie;
int ret, i; 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, static int tmio_mmc_start_data(struct tmio_mmc_host *host,
struct mmc_data *data) 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; struct tmio_mmc_data *pdata = cell->driver_data;
pr_debug("setup data transfer: blocksize %08x nr_blocks %d\n", 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) static int tmio_mmc_get_ro(struct mmc_host *mmc)
{ {
struct tmio_mmc_host *host = mmc_priv(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; struct tmio_mmc_data *pdata = cell->driver_data;
return ((pdata->flags & TMIO_MMC_WRPROTECT_DISABLE) || 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) static int tmio_mmc_get_cd(struct mmc_host *mmc)
{ {
struct tmio_mmc_host *host = mmc_priv(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; struct tmio_mmc_data *pdata = cell->driver_data;
if (!pdata->get_cd) if (!pdata->get_cd)
@ -1199,7 +1199,7 @@ static const struct mmc_host_ops tmio_mmc_ops = {
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state) 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); struct mmc_host *mmc = platform_get_drvdata(dev);
int ret; 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) 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); struct mmc_host *mmc = platform_get_drvdata(dev);
int ret = 0; 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) 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 tmio_mmc_data *pdata;
struct resource *res_ctl; struct resource *res_ctl;
struct tmio_mmc_host *host; 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) 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); struct mmc_host *mmc = platform_get_drvdata(dev);
platform_set_drvdata(dev, NULL); platform_set_drvdata(dev, NULL);

View File

@ -336,7 +336,7 @@ static int ds1wm_probe(struct platform_device *pdev)
if (!pdev) if (!pdev)
return -ENODEV; return -ENODEV;
cell = pdev->dev.platform_data; cell = mfd_get_cell(pdev);
if (!cell) if (!cell)
return -ENODEV; return -ENODEV;