Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d24f36d3 authored by Andres Salomon's avatar Andres Salomon Committed by Samuel Ortiz
Browse files

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: default avatarAndres Salomon <dilinger@queued.net>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 5528e40f
Loading
Loading
Loading
Loading
+0 −6
Original line number Original line Diff line number Diff line
@@ -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)
+12 −12
Original line number Original line Diff line number Diff line
@@ -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 @@ 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 = 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 @@ out:


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 @@ out:


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);
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;