]> asedeno.scripts.mit.edu Git - linux.git/commit
mmc: Allow non-sleeping GPIO cd
authorEvan Green <evgreen@chromium.org>
Fri, 25 May 2018 19:25:23 +0000 (12:25 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 29 May 2018 10:24:26 +0000 (12:24 +0200)
commit52af318c93e970d26c5522eab23ef84fdcb417e1
treef971ff2041bde54c46d870236872cc977acb0722
parentfb8617e1ee4d4057c76730e2f8376ece45663c34
mmc: Allow non-sleeping GPIO cd

This change uses the appropriate _cansleep or non-sleeping API for
reading GPIO card detect state. This allows users with GPIOs that
never sleep to avoid a warning when certain quirks are present.

The sdhci controller has an SDHCI_QUIRK_NO_CARD_NO_RESET, which
indicates that a controller will not reset properly if no card is
inserted. With this quirk enabled, mmc_get_cd_gpio is called in
several places with a spinlock held and interrupts disabled.
gpiod_get_raw_value_cansleep is not happy with this situation,
and throws out a warning.

For boards that a) use controllers that have this quirk, and b) wire
card detect up to a GPIO that doesn't sleep, this is a spurious warning.
This change silences that warning, at the cost of pushing this problem
down to users that have sleeping GPIOs and controllers with this quirk.

Signed-off-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/slot-gpio.c