]> git.itanic.dy.fi Git - linux-stable/commitdiff
gpio: regmap: use new regmap_might_sleep()
authorMichael Walle <michael@walle.cc>
Thu, 5 Jan 2023 15:06:03 +0000 (16:06 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 30 Jan 2023 14:55:29 +0000 (15:55 +0100)
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 <michael@walle.cc>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-regmap.c

index f907c9c19fceeabbd873f07f766dd194dfddbfd9..fca17d478984e9f0ef758afecf60d135d7c01556 100644 (file)
@@ -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)