pinctrl: qcom: spmi-gpio: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 10 Apr 2025 09:34:45 +0000 (11:34 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 17 Apr 2025 07:39:15 +0000 (09:39 +0200)
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/20250410-gpiochip-set-rv-pinctrl-qcom-v1-3-6a6891338aae@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c

index c8ce6106607095ef69a9b16e8a740cec4664eed3..bc082bfb52ef480941e1804f1142496e1db6413a 100644 (file)
@@ -764,14 +764,14 @@ static int pmic_gpio_get(struct gpio_chip *chip, unsigned pin)
        return !!pad->out_value;
 }
 
-static void pmic_gpio_set(struct gpio_chip *chip, unsigned pin, int value)
+static int pmic_gpio_set(struct gpio_chip *chip, unsigned int pin, int value)
 {
        struct pmic_gpio_state *state = gpiochip_get_data(chip);
        unsigned long config;
 
        config = pinconf_to_config_packed(PIN_CONFIG_OUTPUT, value);
 
-       pmic_gpio_config_set(state->ctrl, pin, &config, 1);
+       return pmic_gpio_config_set(state->ctrl, pin, &config, 1);
 }
 
 static int pmic_gpio_of_xlate(struct gpio_chip *chip,
@@ -802,7 +802,7 @@ static const struct gpio_chip pmic_gpio_gpio_template = {
        .direction_input        = pmic_gpio_direction_input,
        .direction_output       = pmic_gpio_direction_output,
        .get                    = pmic_gpio_get,
-       .set                    = pmic_gpio_set,
+       .set_rv                 = pmic_gpio_set,
        .request                = gpiochip_generic_request,
        .free                   = gpiochip_generic_free,
        .of_xlate               = pmic_gpio_of_xlate,