Commit b4611979 authored by Ulf Hansson's avatar Ulf Hansson
Browse files

Merge branch 'fixes' into next

parents 31cf7211 87b5d602
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -777,8 +777,6 @@ int renesas_sdhi_probe(struct platform_device *pdev,
	/* All SDHI have SDIO status bits which must be 1 */
	mmc_data->flags |= TMIO_MMC_SDIO_STATUS_SETBITS;

	pm_runtime_enable(&pdev->dev);

	ret = renesas_sdhi_clk_enable(host);
	if (ret)
		goto efree;
@@ -859,8 +857,6 @@ edisclk:
efree:
	tmio_mmc_host_free(host);

	pm_runtime_disable(&pdev->dev);

	return ret;
}
EXPORT_SYMBOL_GPL(renesas_sdhi_probe);
@@ -872,8 +868,6 @@ int renesas_sdhi_remove(struct platform_device *pdev)
	tmio_mmc_host_remove(host);
	renesas_sdhi_clk_disable(host);

	pm_runtime_disable(&pdev->dev);

	return 0;
}
EXPORT_SYMBOL_GPL(renesas_sdhi_remove);
+0 −5
Original line number Diff line number Diff line
@@ -172,8 +172,6 @@ static int tmio_mmc_probe(struct platform_device *pdev)
	host->mmc->f_max = pdata->hclk;
	host->mmc->f_min = pdata->hclk / 512;

	pm_runtime_enable(&pdev->dev);

	ret = tmio_mmc_host_probe(host);
	if (ret)
		goto host_free;
@@ -193,7 +191,6 @@ host_remove:
	tmio_mmc_host_remove(host);
host_free:
	tmio_mmc_host_free(host);
	pm_runtime_disable(&pdev->dev);
cell_disable:
	if (cell->disable)
		cell->disable(pdev);
@@ -210,8 +207,6 @@ static int tmio_mmc_remove(struct platform_device *pdev)
	if (cell->disable)
		cell->disable(pdev);

	pm_runtime_disable(&pdev->dev);

	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ struct tmio_mmc_host {
	unsigned long		last_req_ts;
	struct mutex		ios_lock;	/* protect set_ios() context */
	bool			native_hotplug;
	bool			runtime_synced;
	bool			sdio_irq_enabled;

	/* Mandatory callback */
+14 −13
Original line number Diff line number Diff line
@@ -1153,15 +1153,6 @@ void tmio_mmc_host_free(struct tmio_mmc_host *host)
}
EXPORT_SYMBOL_GPL(tmio_mmc_host_free);

/**
 * tmio_mmc_host_probe() - Common probe for all implementations
 * @_host: Host to probe
 *
 * Perform tasks common to all implementations probe functions.
 *
 * The caller should have called pm_runtime_enable() prior to calling
 * the common probe function.
 */
int tmio_mmc_host_probe(struct tmio_mmc_host *_host)
{
	struct platform_device *pdev = _host->pdev;
@@ -1257,19 +1248,22 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host)
	/* See if we also get DMA */
	tmio_mmc_request_dma(_host, pdata);

	pm_runtime_set_active(&pdev->dev);
	pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
	pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_enable(&pdev->dev);
	pm_runtime_get_sync(&pdev->dev);

	ret = mmc_add_host(mmc);
	if (ret)
		goto remove_host;

	dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
	pm_runtime_put(&pdev->dev);

	return 0;

remove_host:
	pm_runtime_put_noidle(&pdev->dev);
	tmio_mmc_host_remove(_host);
	return ret;
}
@@ -1280,12 +1274,11 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host)
	struct platform_device *pdev = host->pdev;
	struct mmc_host *mmc = host->mmc;

	pm_runtime_get_sync(&pdev->dev);

	if (host->pdata->flags & TMIO_MMC_SDIO_IRQ)
		sd_ctrl_write16(host, CTL_TRANSACTION_CTL, 0x0000);

	if (!host->native_hotplug)
		pm_runtime_get_sync(&pdev->dev);

	dev_pm_qos_hide_latency_limit(&pdev->dev);

	mmc_remove_host(mmc);
@@ -1294,7 +1287,10 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host)
	tmio_mmc_release_dma(host);

	pm_runtime_dont_use_autosuspend(&pdev->dev);
	if (host->native_hotplug)
		pm_runtime_put_noidle(&pdev->dev);
	pm_runtime_put_sync(&pdev->dev);
	pm_runtime_disable(&pdev->dev);
}
EXPORT_SYMBOL_GPL(tmio_mmc_host_remove);

@@ -1337,6 +1333,11 @@ int tmio_mmc_host_runtime_resume(struct device *dev)
{
	struct tmio_mmc_host *host = dev_get_drvdata(dev);

	if (!host->runtime_synced) {
		host->runtime_synced = true;
		return 0;
	}

	tmio_mmc_clk_enable(host);
	tmio_mmc_hw_reset(host->mmc);

+0 −3
Original line number Diff line number Diff line
@@ -629,7 +629,6 @@ static int uniphier_sd_probe(struct platform_device *pdev)
	host->clk_disable = uniphier_sd_clk_disable;
	host->set_clock = uniphier_sd_set_clock;

	pm_runtime_enable(&pdev->dev);
	ret = uniphier_sd_clk_enable(host);
	if (ret)
		goto free_host;
@@ -651,7 +650,6 @@ static int uniphier_sd_probe(struct platform_device *pdev)

free_host:
	tmio_mmc_host_free(host);
	pm_runtime_disable(&pdev->dev);

	return ret;
}
@@ -662,7 +660,6 @@ static int uniphier_sd_remove(struct platform_device *pdev)

	tmio_mmc_host_remove(host);
	uniphier_sd_clk_disable(host);
	pm_runtime_disable(&pdev->dev);

	return 0;
}