On Mon Jun 16 09:18:53 2025 +0200, Bartosz Golaszewski wrote:
> 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.golaszew...@linaro.org>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/i2c/ds90ub953.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

---

diff --git a/drivers/media/i2c/ds90ub953.c b/drivers/media/i2c/ds90ub953.c
index 59bd92388845..242dbf6d48f3 100644
--- a/drivers/media/i2c/ds90ub953.c
+++ b/drivers/media/i2c/ds90ub953.c
@@ -317,14 +317,13 @@ static int ub953_gpio_get(struct gpio_chip *gc, unsigned 
int offset)
        return !!(v & UB953_REG_GPIO_PIN_STS_GPIO_STS(offset));
 }
 
-static void ub953_gpio_set(struct gpio_chip *gc, unsigned int offset, int 
value)
+static int ub953_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
 {
        struct ub953_data *priv = gpiochip_get_data(gc);
 
-       regmap_update_bits(priv->regmap, UB953_REG_LOCAL_GPIO_DATA,
-                          UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset),
-                          value ? 
UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset) :
-                                  0);
+       return regmap_update_bits(priv->regmap, UB953_REG_LOCAL_GPIO_DATA,
+                                 
UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset),
+                                 value ? 
UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset) : 0);
 }
 
 static int ub953_gpio_of_xlate(struct gpio_chip *gc,
@@ -362,7 +361,7 @@ static int ub953_gpiochip_probe(struct ub953_data *priv)
        gc->direction_input = ub953_gpio_direction_in;
        gc->direction_output = ub953_gpio_direction_out;
        gc->get = ub953_gpio_get;
-       gc->set = ub953_gpio_set;
+       gc->set_rv = ub953_gpio_set;
        gc->of_xlate = ub953_gpio_of_xlate;
        gc->of_gpio_n_cells = 2;
 

Reply via email to