From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: Adrian Hunter <adrian.hunter@intel.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-tegra@vger.kernel.org, Faiz Abbas <faiz_abbas@ti.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: [PATCH v2 0/3] mmc: Introduce support for WP GPIO in the core SDHCI
Date: Mon, 11 Feb 2019 14:23:39 +0100 [thread overview]
Message-ID: <20190211132342.31009-1-thomas.petazzoni@bootlin.com> (raw)
Hello,
While doing the bring up of a Zynq 7000 platform where the WP signal
of a SD slot is connected to a regular GPIO rather than through the
SDHCI WP pin, I realized that the GPIO described by wp-gpios was
properly requested, but it was in fact not used at all.
Indeed, the SDHCI core implements sdhci_check_ro() by:
- Calling a controller-specific ->get_ro() callback if it exists. A
few controller-specific drivers implement this, but not
sdhci-of-arasan, which is used on Zynq 7000.
- Using the SDHCI_PRESENT_STATE register, which reports the state of
the SDHCI interface WP pin, and obvisouly not the state of a
separate WP GPIO.
This patch series therefore changes sdhci_check_ro() to behave like
sdhci_get_cd(): use a GPIO first if available, and if not, fallback to
using the SDHCI_PRESENT_STATE register. Indeed, if there's a wp-gpios
described in the DT, it quite certainly indicates that the SDHCI WP
signal is not used, and the WP GPIO should be used instead.
As part of this series, two SDHCI drivers are modified to no longer
implement their custom ->get_ro() hook, since the core SDHCI now does
the right thing with the WP GPIO.
Changes since v1:
- Call the ->get_ro() callback before using the WP GPIO in the core,
as suggested by Adrian Hunter.
- Fix typoes in commit logs.
- Collect Reviewed-by/Tested-by/Acked-by tags.
Best regards,
Thomas
Thomas Petazzoni (3):
mmc: sdhci: use WP GPIO in sdhci_check_ro()
mmc: sdhci-omap: drop ->get_ro() implementation
mmc: sdhci-tegra: drop ->get_ro() implementation
drivers/mmc/host/sdhci-omap.c | 1 -
drivers/mmc/host/sdhci-tegra.c | 9 ---------
drivers/mmc/host/sdhci.c | 9 ++++++---
3 files changed, 6 insertions(+), 13 deletions(-)
--
2.20.1
next reply other threads:[~2019-02-11 13:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-11 13:23 Thomas Petazzoni [this message]
2019-02-11 13:23 ` [PATCH v2 1/3] mmc: sdhci: use WP GPIO in sdhci_check_ro() Thomas Petazzoni
2019-02-12 8:08 ` Adrian Hunter
2019-02-11 13:23 ` [PATCH v2 2/3] mmc: sdhci-omap: drop ->get_ro() implementation Thomas Petazzoni
2019-02-12 8:11 ` Adrian Hunter
2019-02-12 8:13 ` Kishon Vijay Abraham I
2019-02-11 13:23 ` [PATCH v2 3/3] mmc: sdhci-tegra: " Thomas Petazzoni
2019-02-12 8:11 ` Adrian Hunter
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=20190211132342.31009-1-thomas.petazzoni@bootlin.com \
--to=thomas.petazzoni@bootlin.com \
--cc=adrian.hunter@intel.com \
--cc=faiz_abbas@ti.com \
--cc=jonathanh@nvidia.com \
--cc=kishon@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=thierry.reding@gmail.com \
--cc=ulf.hansson@linaro.org \
/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