From: yongd <yongd@marvell.com>
To: Chris Ball <cjb@laptop.org>,
Anton Vorontsov <anton.vorontsov@linaro.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Shawn Guo <shawn.guo@linaro.org>,
Wolfram Sang <w.sang@pengutronix.de>,
Daniel Drake <dsd@laptop.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Wilson Callan <wilson.callan@savantsystems.com>,
Ben Dooks <ben-linux@fluff.org>
Cc: zhangfei.gao@marvell.com, kevin.liu@marvell.com,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
yongd <yongd@marvell.com>
Subject: [PATCH V2 1/3] mmc: esdhc: enable polling to detect card by itself
Date: Tue, 30 Oct 2012 17:30:01 +0800 [thread overview]
Message-ID: <1351589403-26398-2-git-send-email-yongd@marvell.com> (raw)
In-Reply-To: <1351589403-26398-1-git-send-email-yongd@marvell.com>
In the current code logic, sdhci_add_host() will enable the polling
method (set MMC_CAP_NEEDS_POLL) for a removable card (MMC_CAP_
NONREMOVABLE is not set) whose host's internal card detection method
is disabled for some reason (SDHCI_QUIRK_BROKEN_CARD_DETECTION is set).
However, this is improper since we can have some other card detection
methods besides host internal card detection and polling method. For
example, if the card detection type is ESDHC_CD_GPIO (external gpio pin
for CD), we should keep SDHCI_QUIRK_BROKEN_CARD_DETECTION set, or host
internal card detection interrupt will still be enabled. So, here comes
the 1st change in this patch to keep SDHCI_QUIRK_BROKEN_CARD_DETECTION
set for ESDHC_CD_GPIO type. But, after the 1st change, just as above
said, sdhci_add_host() will still enable polling for such a card.This
is redundant.
On the other hand, for the card with ESDHC_CD_NONE detection type(no CD,
neither controller nor gpio, so use polling), we currently rely on
sdhci_add_host() to enable polling for us.
Here propose the 2nd change in this patch for such an embarrassing case.
1st, this patch will de-couple polling enabling with sdhci_add_host() by
doing this in host driver itself, just as some other vendors. 2nd, one
more patch will remove such improper MMC_CAP_NEEDS_POLL enabling in
sdhci_add_host().
Change-Id: Ia7525009d8fd188e3f0169f225e4a76ff9e94b47
Signed-off-by: yongd <yongd@marvell.com>
---
drivers/mmc/host/sdhci-esdhc-imx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index effc2ac..ff201a5 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -557,7 +557,7 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
dev_err(mmc_dev(host->mmc), "request irq error\n");
goto no_card_detect_irq;
}
- /* fall through */
+ break;
case ESDHC_CD_CONTROLLER:
/* we have a working card_detect back */
@@ -569,6 +569,7 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
break;
case ESDHC_CD_NONE:
+ host->mmc->caps = MMC_CAP_NEEDS_POLL;
break;
}
--
1.7.9.5
next prev parent reply other threads:[~2012-10-30 9:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-30 9:30 [PATCH V2 0/3] mmc: remove MMC_CAP_NEEDS_POLL setting in sdhci_add_host yongd
2012-10-30 9:30 ` yongd [this message]
2012-10-31 15:20 ` [PATCH V2 1/3] mmc: esdhc: enable polling to detect card by itself Shawn Guo
2012-11-02 12:37 ` yongd
2012-11-05 1:54 ` Shawn Guo
2012-11-05 3:34 ` yongd
2012-11-05 12:48 ` Shawn Guo
2012-11-06 8:49 ` yongd
2012-11-06 12:52 ` Shawn Guo
2012-11-08 2:46 ` yongd
2012-10-30 9:30 ` [PATCH V2 2/3] mmc: sdhci-s3c: " yongd
2012-10-30 23:11 ` [PATCH V2 0/3] mmc: remove MMC_CAP_NEEDS_POLL setting in sdhci_add_host Anton Vorontsov
2012-10-31 10:07 ` yongd
2012-10-31 10:14 ` yongd
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=1351589403-26398-2-git-send-email-yongd@marvell.com \
--to=yongd@marvell.com \
--cc=anton.vorontsov@linaro.org \
--cc=ben-linux@fluff.org \
--cc=cjb@laptop.org \
--cc=dsd@laptop.org \
--cc=kevin.liu@marvell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=w.sang@pengutronix.de \
--cc=wilson.callan@savantsystems.com \
--cc=zhangfei.gao@marvell.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).