• Evan Green's avatar
    mmc: Allow non-sleeping GPIO cd · 52af318c
    Evan Green authored
    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: default avatarEvan Green <evgreen@chromium.org>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    52af318c
slot-gpio.c 8.74 KB