linux-next: manual merge of the pm tree with the mmc tree

From: Stephen Rothwell
Date: Sun Mar 18 2012 - 23:34:24 EST


Hi Rafael,

Today's linux-next merge of the pm tree got a conflict in
drivers/mmc/host/tmio_mmc_pio.c between commit 4d741159c282 ("mmc:
tmio_mmc: support the generic MMC GPIO card hotplug helper") from the mmc
tree and commit c419e611c3c5 ("tmio_mmc / PM: Use PM QoS latency
constraint") from the pm tree.

Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/mmc/host/tmio_mmc_pio.c
index e476baf1,e219889..0000000
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
@@@ -996,20 -983,22 +999,22 @@@ EXPORT_SYMBOL(tmio_mmc_host_probe)
void tmio_mmc_host_remove(struct tmio_mmc_host *host)
{
struct platform_device *pdev = host->pdev;
+ struct tmio_mmc_data *pdata = host->pdata;
+ struct mmc_host *mmc = host->mmc;

- /*
- * We don't have to manipulate pdata->power here: if there is a card in
- * the slot, the runtime PM is active and our .runtime_resume() will not
- * be run. If there is no card in the slot and the platform can suspend
- * the controller, the runtime PM is suspended and pdata->power == false,
- * so, our .runtime_resume() will not try to detect a card in the slot.
- */
- if (host->pdata->flags & TMIO_MMC_HAS_COLD_CD
- || host->mmc->caps & MMC_CAP_NEEDS_POLL
- || host->mmc->caps & MMC_CAP_NONREMOVABLE)
+ if (pdata->flags & TMIO_MMC_USE_GPIO_CD)
+ /*
+ * This means we can miss a card-eject, but this is anyway
+ * possible, because of delayed processing of hotplug events.
+ */
+ mmc_cd_gpio_free(mmc);
+
+ if (!host->native_hotplug)
pm_runtime_get_sync(&pdev->dev);

+ dev_pm_qos_hide_latency_limit(&pdev->dev);
+
- mmc_remove_host(host->mmc);
+ mmc_remove_host(mmc);
cancel_work_sync(&host->done);
cancel_delayed_work_sync(&host->delayed_reset_work);
tmio_mmc_release_dma(host);

Attachment: pgp00000.pgp
Description: PGP signature