Message ID | 20230710123425.316943-1-hdegoede@redhat.com |
---|---|
State | Accepted |
Commit | 5a7adc6c1069ce31ef4f606ae9c05592c80a6ab5 |
Headers | show |
Series | [resend,v2] gpio: tps68470: Make tps68470_gpio_output() always set the initial value | expand |
On Mon, Jul 10, 2023 at 2:34 PM Hans de Goede <hdegoede@redhat.com> wrote: > > Make tps68470_gpio_output() call tps68470_gpio_set() for output-only pins > too, so that the initial value passed to gpiod_direction_output() is > honored for these pins too. > > Fixes: 275b13a65547 ("gpio: Add support for TPS68470 GPIOs") > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> > Tested-by: Daniel Scally <dan.scally@ideasonboard.com> > Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > Changes in v2: > - Add Fixes tag > - Add Andy's Reviewed-by > --- > drivers/gpio/gpio-tps68470.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpio-tps68470.c b/drivers/gpio/gpio-tps68470.c > index aaddcabe9b35..532deaddfd4e 100644 > --- a/drivers/gpio/gpio-tps68470.c > +++ b/drivers/gpio/gpio-tps68470.c > @@ -91,13 +91,13 @@ static int tps68470_gpio_output(struct gpio_chip *gc, unsigned int offset, > struct tps68470_gpio_data *tps68470_gpio = gpiochip_get_data(gc); > struct regmap *regmap = tps68470_gpio->tps68470_regmap; > > + /* Set the initial value */ > + tps68470_gpio_set(gc, offset, value); > + > /* rest are always outputs */ > if (offset >= TPS68470_N_REGULAR_GPIO) > return 0; > > - /* Set the initial value */ > - tps68470_gpio_set(gc, offset, value); > - > return regmap_update_bits(regmap, TPS68470_GPIO_CTL_REG_A(offset), > TPS68470_GPIO_MODE_MASK, > TPS68470_GPIO_MODE_OUT_CMOS); > -- > 2.41.0 > Applied, thanks! Bart
diff --git a/drivers/gpio/gpio-tps68470.c b/drivers/gpio/gpio-tps68470.c index aaddcabe9b35..532deaddfd4e 100644 --- a/drivers/gpio/gpio-tps68470.c +++ b/drivers/gpio/gpio-tps68470.c @@ -91,13 +91,13 @@ static int tps68470_gpio_output(struct gpio_chip *gc, unsigned int offset, struct tps68470_gpio_data *tps68470_gpio = gpiochip_get_data(gc); struct regmap *regmap = tps68470_gpio->tps68470_regmap; + /* Set the initial value */ + tps68470_gpio_set(gc, offset, value); + /* rest are always outputs */ if (offset >= TPS68470_N_REGULAR_GPIO) return 0; - /* Set the initial value */ - tps68470_gpio_set(gc, offset, value); - return regmap_update_bits(regmap, TPS68470_GPIO_CTL_REG_A(offset), TPS68470_GPIO_MODE_MASK, TPS68470_GPIO_MODE_OUT_CMOS);