From: Michael Walle Date: Thu, 5 Jan 2023 15:06:03 +0000 (+0100) Subject: gpio: regmap: use new regmap_might_sleep() X-Git-Tag: v6.3-rc1~156^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=297a44f664a8ac2139c25c51ba0064cc12a6f1e5;p=thirdparty%2Fkernel%2Flinux.git gpio: regmap: use new regmap_might_sleep() Now that the regmap can be queried whether it might sleep, we can get rid of the conservative setting "can_sleep = true". New drivers which want to use gpio-regmap and can access the registers memory-mapped won't have the restriction that their consumers have to use the gpiod_*cansleep() variants anymore. Signed-off-by: Michael Walle Signed-off-by: Bartosz Golaszewski --- diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c index f907c9c19fcee..fca17d478984e 100644 --- a/drivers/gpio/gpio-regmap.c +++ b/drivers/gpio/gpio-regmap.c @@ -254,15 +254,7 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config chip->ngpio = config->ngpio; chip->names = config->names; chip->label = config->label ?: dev_name(config->parent); - - /* - * If our regmap is fast_io we should probably set can_sleep to false. - * Right now, the regmap doesn't save this property, nor is there any - * access function for it. - * The only regmap type which uses fast_io is regmap-mmio. For now, - * assume a safe default of true here. - */ - chip->can_sleep = true; + chip->can_sleep = regmap_might_sleep(config->regmap); chip->get = gpio_regmap_get; if (gpio->reg_set_base && gpio->reg_clr_base)