mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 10:02:02 +02:00
gpio: tps65219: Fix TPS65214 GPIO direction programming
GPIO_LINE_DIRECTION_OUT and GPIO_LINE_DIRECTION_IN have the values 0
and 1, respectively, while the TPS65214 GPIO_CONFIG field is BIT(1).
regmap_update_bits() masks the supplied value, so passing either
direction value clears the field and selects input mode.
Translate the GPIO direction to the register encoding used by
tps65214_gpio_get_direction(), setting GPIO_CONFIG for output and
clearing it for input.
Fixes: 1b6ab07c0c ("gpio: tps65219: Add support for TI TPS65214 PMIC")
Cc: stable@vger.kernel.org
Assisted-by: LLM
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Link: https://patch.msgid.link/20260919171100.90430-4-kmehltretter@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
parent
93cf8cedea
commit
270437f3fe
|
|
@ -158,8 +158,10 @@ static int tps65214_gpio_change_direction(struct gpio_chip *gc, unsigned int off
|
|||
if (ret)
|
||||
dev_err(dev, "GPIO%d configured as VSEL, not GPIO\n", offset);
|
||||
|
||||
val = direction == GPIO_LINE_DIRECTION_OUT ?
|
||||
TPS65214_GPIO0_DIR_MASK : 0;
|
||||
ret = regmap_update_bits(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG,
|
||||
TPS65214_GPIO0_DIR_MASK, direction);
|
||||
TPS65214_GPIO0_DIR_MASK, val);
|
||||
if (ret)
|
||||
dev_err(dev, "Fail to change direction to %u for GPIO%d.\n", direction, offset);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user