]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: sdhci: use WP GPIO in sdhci_check_ro()
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 12 Feb 2019 14:07:35 +0000 (15:07 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 25 Feb 2019 07:40:58 +0000 (08:40 +0100)
commite58af1d6c374838c9a95fb2a6c7ba23c4892a77d
treef4f3276a56b4be29ed3d516506263aa8c6c9ef1e
parent2a4051c82f83c88da502fbf0f97d8beb79fe66b1
mmc: sdhci: use WP GPIO in sdhci_check_ro()

Even though SDHCI controllers may have a dedicated WP pin that can be
queried using the SDHCI_PRESENT_STATE register, some platforms may
chose to use a separate regular GPIO to route the WP signal. Such a
GPIO is typically represented using the wp-gpios property in the
Device Tree.

Unfortunately, the current sdhci_check_ro() function does not make use
of such GPIO when available: it either uses a host controller specific
->get_ro() operation, or uses the SDHCI_PRESENT_STATE. Several host
controller specific ->get_ro() functions are implemented just to check
a WP GPIO state.

Instead of pushing this to more controller-specific implementations,
let's handle this in the core SDHCI code, just like it is already done
for the CD GPIO in sdhci_get_cd().

The below patch simply changes sdhci_check_ro() to use the value of
the WP GPIO if available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci.c