On Tue, Jun 10, 2025 at 2:38 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > 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@xxxxxxxxxx> > --- > drivers/soc/fsl/qe/gpio.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/fsl/qe/gpio.c b/drivers/soc/fsl/qe/gpio.c > index 3ef24ba0245b75471ffa10f579bb744c0c3b7e43..5391cce4e6efe6d120db7fdf7509dc5eb840f344 100644 > --- a/drivers/soc/fsl/qe/gpio.c > +++ b/drivers/soc/fsl/qe/gpio.c > @@ -57,7 +57,7 @@ static int qe_gpio_get(struct gpio_chip *gc, unsigned int gpio) > return !!(ioread32be(®s->cpdata) & pin_mask); > } > > -static void qe_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) > +static int qe_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) > { > struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); > struct qe_gpio_chip *qe_gc = gpiochip_get_data(gc); > @@ -75,6 +75,8 @@ static void qe_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) > iowrite32be(qe_gc->cpdata, ®s->cpdata); > > spin_unlock_irqrestore(&qe_gc->lock, flags); > + > + return 0; > } > > static void qe_gpio_set_multiple(struct gpio_chip *gc, > @@ -317,7 +319,7 @@ static int __init qe_add_gpiochips(void) > gc->direction_input = qe_gpio_dir_in; > gc->direction_output = qe_gpio_dir_out; > gc->get = qe_gpio_get; > - gc->set = qe_gpio_set; > + gc->set_rv = qe_gpio_set; > gc->set_multiple = qe_gpio_set_multiple; > > ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc); > > -- > 2.48.1 > Christophe: let me reping you here as there's no reason for this relatively trivial patch to miss the upcoming merge window. Do you have any objections to me queueing it via the GPIO tree? Bartosz