Message ID | 20250408-gpiochip-set-rv-powerpc-v1-1-73dc1ebc6ef1@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | powerpc: convert board-file GPIO chips to using new value setters | expand |
Le 08/04/2025 à 09:21, Bartosz Golaszewski a écrit : > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > 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: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > arch/powerpc/sysdev/cpm_common.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c > index 47db732981a8..e22fc638dbc7 100644 > --- a/arch/powerpc/sysdev/cpm_common.c > +++ b/arch/powerpc/sysdev/cpm_common.c > @@ -138,7 +138,7 @@ static void __cpm2_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask, > out_be32(&iop->dat, cpm2_gc->cpdata); > } > > -static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) > +static int cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) > { > struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); > struct cpm2_gpio32_chip *cpm2_gc = gpiochip_get_data(gc); > @@ -150,6 +150,8 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) > __cpm2_gpio32_set(mm_gc, pin_mask, value); > > spin_unlock_irqrestore(&cpm2_gc->lock, flags); > + > + return 0; > } > > static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) > @@ -208,7 +210,7 @@ int cpm2_gpiochip_add32(struct device *dev) > gc->direction_input = cpm2_gpio32_dir_in; > gc->direction_output = cpm2_gpio32_dir_out; > gc->get = cpm2_gpio32_get; > - gc->set = cpm2_gpio32_set; > + gc->set_rv = cpm2_gpio32_set; > gc->parent = dev; > gc->owner = THIS_MODULE; > >
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index 47db732981a8..e22fc638dbc7 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c @@ -138,7 +138,7 @@ static void __cpm2_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask, out_be32(&iop->dat, cpm2_gc->cpdata); } -static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); struct cpm2_gpio32_chip *cpm2_gc = gpiochip_get_data(gc); @@ -150,6 +150,8 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm2_gpio32_set(mm_gc, pin_mask, value); spin_unlock_irqrestore(&cpm2_gc->lock, flags); + + return 0; } static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -208,7 +210,7 @@ int cpm2_gpiochip_add32(struct device *dev) gc->direction_input = cpm2_gpio32_dir_in; gc->direction_output = cpm2_gpio32_dir_out; gc->get = cpm2_gpio32_get; - gc->set = cpm2_gpio32_set; + gc->set_rv = cpm2_gpio32_set; gc->parent = dev; gc->owner = THIS_MODULE;