Commit cc9432c4 authored by Alexander Stein's avatar Alexander Stein Committed by Ulf Hansson

mmc: slot-gpio: Allow non-sleeping GPIO ro

This change uses the appropriate _cansleep or non-sleeping API for
reading GPIO read-only state. This allows users with GPIOs that
never sleepbeing called in atomic context.

Implement the same mechanism as in commit 52af318c ("mmc: Allow
non-sleeping GPIO cd").
Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240206083912.2543142-1-alexander.stein@ew.tq-group.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 58aeb562
......@@ -75,11 +75,15 @@ EXPORT_SYMBOL(mmc_gpio_set_cd_irq);
int mmc_gpio_get_ro(struct mmc_host *host)
{
struct mmc_gpio *ctx = host->slot.handler_priv;
int cansleep;
if (!ctx || !ctx->ro_gpio)
return -ENOSYS;
return gpiod_get_value_cansleep(ctx->ro_gpio);
cansleep = gpiod_cansleep(ctx->ro_gpio);
return cansleep ?
gpiod_get_value_cansleep(ctx->ro_gpio) :
gpiod_get_value(ctx->ro_gpio);
}
EXPORT_SYMBOL(mmc_gpio_get_ro);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment