From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> To: linux-mmc@vger.kernel.org Cc: Chris Ball <cjb@laptop.org>, Paul Mundt <lethal@linux-sh.org>, linux-sh@vger.kernel.org, Magnus Damm <magnus.damm@gmail.com> Subject: [PATCH 02/10 v3] mmc: tmio: calculate the native hotplug condition only once Date: Thu, 09 Feb 2012 21:57:08 +0000 [thread overview] Message-ID: <1328824636-10553-3-git-send-email-g.liakhovetski@gmx.de> (raw) In-Reply-To: <1328824636-10553-1-git-send-email-g.liakhovetski@gmx.de> The condition, whether we have to use the native TMIO card hotplug detection interrupt, is rather complex, it is better to only calculate it once and store in the private data. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/mmc/host/tmio_mmc.h | 1 + drivers/mmc/host/tmio_mmc_pio.c | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h index f96c536..8531d8d 100644 --- a/drivers/mmc/host/tmio_mmc.h +++ b/drivers/mmc/host/tmio_mmc.h @@ -86,6 +86,7 @@ struct tmio_mmc_host { spinlock_t lock; /* protect host private data */ unsigned long last_req_ts; struct mutex ios_lock; /* protect set_ios() context */ + bool native_hotplug; }; int tmio_mmc_host_probe(struct tmio_mmc_host **host, diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index 5f9ad74..a5d1052 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c @@ -912,6 +912,9 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, else mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; + _host->native_hotplug = !(pdata->flags & TMIO_MMC_HAS_COLD_CD || + mmc->caps & MMC_CAP_NEEDS_POLL || + mmc->caps & MMC_CAP_NONREMOVABLE); pdata->power = false; pm_runtime_enable(&pdev->dev); ret = pm_runtime_resume(&pdev->dev); @@ -930,9 +933,7 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, * additionally ensure that in case 2) the tmio mmc hardware stays * powered on during runtime for the card detection to work. */ - if (!(pdata->flags & TMIO_MMC_HAS_COLD_CD - || mmc->caps & MMC_CAP_NEEDS_POLL - || mmc->caps & MMC_CAP_NONREMOVABLE)) + if (_host->native_hotplug) pm_runtime_get_noresume(&pdev->dev); tmio_mmc_clk_stop(_host); @@ -988,9 +989,7 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host) * 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 (!host->native_hotplug) pm_runtime_get_sync(&pdev->dev); mmc_remove_host(host->mmc); -- 1.7.2.5
WARNING: multiple messages have this Message-ID (diff)
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> To: linux-mmc@vger.kernel.org Cc: Chris Ball <cjb@laptop.org>, Paul Mundt <lethal@linux-sh.org>, linux-sh@vger.kernel.org, Magnus Damm <magnus.damm@gmail.com> Subject: [PATCH 02/10 v3] mmc: tmio: calculate the native hotplug condition only once Date: Thu, 9 Feb 2012 22:57:08 +0100 [thread overview] Message-ID: <1328824636-10553-3-git-send-email-g.liakhovetski@gmx.de> (raw) In-Reply-To: <1328824636-10553-1-git-send-email-g.liakhovetski@gmx.de> The condition, whether we have to use the native TMIO card hotplug detection interrupt, is rather complex, it is better to only calculate it once and store in the private data. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/mmc/host/tmio_mmc.h | 1 + drivers/mmc/host/tmio_mmc_pio.c | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h index f96c536..8531d8d 100644 --- a/drivers/mmc/host/tmio_mmc.h +++ b/drivers/mmc/host/tmio_mmc.h @@ -86,6 +86,7 @@ struct tmio_mmc_host { spinlock_t lock; /* protect host private data */ unsigned long last_req_ts; struct mutex ios_lock; /* protect set_ios() context */ + bool native_hotplug; }; int tmio_mmc_host_probe(struct tmio_mmc_host **host, diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index 5f9ad74..a5d1052 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c @@ -912,6 +912,9 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, else mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; + _host->native_hotplug = !(pdata->flags & TMIO_MMC_HAS_COLD_CD || + mmc->caps & MMC_CAP_NEEDS_POLL || + mmc->caps & MMC_CAP_NONREMOVABLE); pdata->power = false; pm_runtime_enable(&pdev->dev); ret = pm_runtime_resume(&pdev->dev); @@ -930,9 +933,7 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host, * additionally ensure that in case 2) the tmio mmc hardware stays * powered on during runtime for the card detection to work. */ - if (!(pdata->flags & TMIO_MMC_HAS_COLD_CD - || mmc->caps & MMC_CAP_NEEDS_POLL - || mmc->caps & MMC_CAP_NONREMOVABLE)) + if (_host->native_hotplug) pm_runtime_get_noresume(&pdev->dev); tmio_mmc_clk_stop(_host); @@ -988,9 +989,7 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host) * 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 (!host->native_hotplug) pm_runtime_get_sync(&pdev->dev); mmc_remove_host(host->mmc); -- 1.7.2.5
next prev parent reply other threads:[~2012-02-09 21:57 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-02-09 21:57 [PATCH 00/10 v3] mmc: tmio/sdhi: hotplug & PM Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 01/10 v3] mmc: simplify mmc_cd_gpio_request() by removing two parameters Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski [this message] 2012-02-09 21:57 ` [PATCH 02/10 v3] mmc: tmio: calculate the native hotplug condition only once Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 03/10 v3] mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 04/10 v3] mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 05/10 v3] ARM: mach-shmobile: convert mackerel to use the generic MMC GPIO hotplug helper Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-04-16 2:08 ` Simon Horman 2012-04-16 2:08 ` Simon Horman 2012-02-09 21:57 ` [PATCH 06/10 v3] ARM: mach-shmobile: convert ag5evm " Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-04-08 11:33 ` Guennadi Liakhovetski 2012-04-08 11:33 ` Guennadi Liakhovetski 2012-04-13 12:46 ` outstanding ARM patches Guennadi Liakhovetski 2012-04-13 12:46 ` Guennadi Liakhovetski 2012-04-16 16:24 ` Rafael J. Wysocki 2012-04-16 16:24 ` Rafael J. Wysocki 2012-04-16 21:08 ` Guennadi Liakhovetski 2012-04-16 21:08 ` Guennadi Liakhovetski 2012-04-16 2:16 ` [PATCH 06/10 v3] ARM: mach-shmobile: convert ag5evm to use the generic MMC GPIO hotplug helper Simon Horman 2012-04-16 2:16 ` Simon Horman 2012-02-09 21:57 ` [PATCH 07/10 v3] mmc: tmio_mmc: power status flag doesn't have to be exposed in platform data Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 08/10 v3] mmc: tmio_mmc: remove unused sdio_irq_enabled flag Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 09/10 v3] mmc: sh_mobile_sdhi: do not manage PM clocks manually Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-02-09 21:57 ` [PATCH 10/10 v3] mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function Guennadi Liakhovetski 2012-02-09 21:57 ` Guennadi Liakhovetski 2012-03-09 4:17 ` [PATCH 00/10 v3] mmc: tmio/sdhi: hotplug & PM Chris Ball 2012-03-09 4:17 ` Chris Ball 2012-03-16 11:55 ` Chris Ball 2012-03-16 11:55 ` Chris Ball
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1328824636-10553-3-git-send-email-g.liakhovetski@gmx.de \ --to=g.liakhovetski@gmx.de \ --cc=cjb@laptop.org \ --cc=lethal@linux-sh.org \ --cc=linux-mmc@vger.kernel.org \ --cc=linux-sh@vger.kernel.org \ --cc=magnus.damm@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.