mmc: Use mfd_data instead of driver_data for tmio-mmc
Use mfd_data for passing information from mfd drivers to mfd clients. The mfd_cell's driver_data field is being phased out. Clients that were using driver_data now access .mfd_data via mfd_get_data(). This changes tmio-mmc only; mfd drivers with other cells are not modified. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
fcd67979d3
commit
4f95bf4048
|
@ -783,7 +783,7 @@ static struct mfd_cell asic3_cell_mmc = {
|
||||||
.name = "tmio-mmc",
|
.name = "tmio-mmc",
|
||||||
.enable = asic3_mmc_enable,
|
.enable = asic3_mmc_enable,
|
||||||
.disable = asic3_mmc_disable,
|
.disable = asic3_mmc_disable,
|
||||||
.driver_data = &asic3_mmc_data,
|
.mfd_data = &asic3_mmc_data,
|
||||||
.num_resources = ARRAY_SIZE(asic3_mmc_resources),
|
.num_resources = ARRAY_SIZE(asic3_mmc_resources),
|
||||||
.resources = asic3_mmc_resources,
|
.resources = asic3_mmc_resources,
|
||||||
};
|
};
|
||||||
|
|
|
@ -146,7 +146,7 @@ static int __devinit sh_mobile_sdhi_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(&priv->cell_mmc, &sh_mobile_sdhi_cell, sizeof(priv->cell_mmc));
|
memcpy(&priv->cell_mmc, &sh_mobile_sdhi_cell, sizeof(priv->cell_mmc));
|
||||||
priv->cell_mmc.driver_data = mmc_data;
|
priv->cell_mmc.mfd_data = mmc_data;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, priv);
|
platform_set_drvdata(pdev, priv);
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ static struct mfd_cell t7l66xb_cells[] = {
|
||||||
.name = "tmio-mmc",
|
.name = "tmio-mmc",
|
||||||
.enable = t7l66xb_mmc_enable,
|
.enable = t7l66xb_mmc_enable,
|
||||||
.disable = t7l66xb_mmc_disable,
|
.disable = t7l66xb_mmc_disable,
|
||||||
.driver_data = &t7166xb_mmc_data,
|
.mfd_data = &t7166xb_mmc_data,
|
||||||
.num_resources = ARRAY_SIZE(t7l66xb_mmc_resources),
|
.num_resources = ARRAY_SIZE(t7l66xb_mmc_resources),
|
||||||
.resources = t7l66xb_mmc_resources,
|
.resources = t7l66xb_mmc_resources,
|
||||||
},
|
},
|
||||||
|
|
|
@ -131,7 +131,7 @@ static struct mfd_cell tc6387xb_cells[] = {
|
||||||
.name = "tmio-mmc",
|
.name = "tmio-mmc",
|
||||||
.enable = tc6387xb_mmc_enable,
|
.enable = tc6387xb_mmc_enable,
|
||||||
.disable = tc6387xb_mmc_disable,
|
.disable = tc6387xb_mmc_disable,
|
||||||
.driver_data = &tc6387xb_mmc_data,
|
.mfd_data = &tc6387xb_mmc_data,
|
||||||
.num_resources = ARRAY_SIZE(tc6387xb_mmc_resources),
|
.num_resources = ARRAY_SIZE(tc6387xb_mmc_resources),
|
||||||
.resources = tc6387xb_mmc_resources,
|
.resources = tc6387xb_mmc_resources,
|
||||||
},
|
},
|
||||||
|
|
|
@ -393,7 +393,7 @@ static struct mfd_cell __devinitdata tc6393xb_cells[] = {
|
||||||
.name = "tmio-mmc",
|
.name = "tmio-mmc",
|
||||||
.enable = tc6393xb_mmc_enable,
|
.enable = tc6393xb_mmc_enable,
|
||||||
.resume = tc6393xb_mmc_resume,
|
.resume = tc6393xb_mmc_resume,
|
||||||
.driver_data = &tc6393xb_mmc_data,
|
.mfd_data = &tc6393xb_mmc_data,
|
||||||
.num_resources = ARRAY_SIZE(tc6393xb_mmc_resources),
|
.num_resources = ARRAY_SIZE(tc6393xb_mmc_resources),
|
||||||
.resources = tc6393xb_mmc_resources,
|
.resources = tc6393xb_mmc_resources,
|
||||||
},
|
},
|
||||||
|
|
|
@ -303,8 +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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
struct tmio_mmc_data *pdata = cell->driver_data;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Testing on sh-mobile showed that SDIO IRQs are unmasked when
|
* Testing on sh-mobile showed that SDIO IRQs are unmasked when
|
||||||
|
@ -327,8 +326,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
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 |
|
||||||
sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
|
sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
|
||||||
|
@ -669,8 +667,7 @@ out:
|
||||||
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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
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,8 +796,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
struct tmio_mmc_data *pdata = cell->driver_data;
|
|
||||||
dma_cookie_t cookie;
|
dma_cookie_t cookie;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
bool aligned = true, multiple = true;
|
bool aligned = true, multiple = true;
|
||||||
|
@ -869,8 +865,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
struct tmio_mmc_data *pdata = cell->driver_data;
|
|
||||||
dma_cookie_t cookie;
|
dma_cookie_t cookie;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
bool aligned = true, multiple = true;
|
bool aligned = true, multiple = true;
|
||||||
|
@ -1063,8 +1058,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
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",
|
||||||
data->blksz, data->blocks);
|
data->blksz, data->blocks);
|
||||||
|
@ -1169,8 +1163,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
struct tmio_mmc_data *pdata = cell->driver_data;
|
|
||||||
|
|
||||||
return ((pdata->flags & TMIO_MMC_WRPROTECT_DISABLE) ||
|
return ((pdata->flags & TMIO_MMC_WRPROTECT_DISABLE) ||
|
||||||
(sd_ctrl_read32(host, CTL_STATUS) & TMIO_STAT_WRPROTECT)) ? 0 : 1;
|
(sd_ctrl_read32(host, CTL_STATUS) & TMIO_STAT_WRPROTECT)) ? 0 : 1;
|
||||||
|
@ -1179,8 +1172,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 = mfd_get_cell(host->pdev);
|
struct tmio_mmc_data *pdata = mfd_get_data(host->pdev);
|
||||||
struct tmio_mmc_data *pdata = cell->driver_data;
|
|
||||||
|
|
||||||
if (!pdata->get_cd)
|
if (!pdata->get_cd)
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
|
@ -1252,7 +1244,7 @@ static int __devinit tmio_mmc_probe(struct platform_device *dev)
|
||||||
if (!res_ctl)
|
if (!res_ctl)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
pdata = cell->driver_data;
|
pdata = mfd_get_data(dev);
|
||||||
if (!pdata || !pdata->hclk)
|
if (!pdata || !pdata->hclk)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue