mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
powerpc: 83xx/gpio: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> Link: https://patch.msgid.link/20250502-gpiochip-set-rv-powerpc-v2-2-488e43e325bf@linaro.org
This commit is contained in:
parent
54ac723320
commit
077f873325
|
|
@ -92,10 +92,11 @@ static void mcu_power_off(void)
|
|||
mutex_unlock(&mcu->lock);
|
||||
}
|
||||
|
||||
static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||
static int mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||
{
|
||||
struct mcu *mcu = gpiochip_get_data(gc);
|
||||
u8 bit = 1 << (4 + gpio);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&mcu->lock);
|
||||
if (val)
|
||||
|
|
@ -103,14 +104,16 @@ static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
|||
else
|
||||
mcu->reg_ctrl |= bit;
|
||||
|
||||
i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL, mcu->reg_ctrl);
|
||||
ret = i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL,
|
||||
mcu->reg_ctrl);
|
||||
mutex_unlock(&mcu->lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int mcu_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||
{
|
||||
mcu_gpio_set(gc, gpio, val);
|
||||
return 0;
|
||||
return mcu_gpio_set(gc, gpio, val);
|
||||
}
|
||||
|
||||
static int mcu_gpiochip_add(struct mcu *mcu)
|
||||
|
|
@ -123,7 +126,7 @@ static int mcu_gpiochip_add(struct mcu *mcu)
|
|||
gc->can_sleep = 1;
|
||||
gc->ngpio = MCU_NUM_GPIO;
|
||||
gc->base = -1;
|
||||
gc->set = mcu_gpio_set;
|
||||
gc->set_rv = mcu_gpio_set;
|
||||
gc->direction_output = mcu_gpio_dir_out;
|
||||
gc->parent = dev;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user