Project

General

Profile

完成 #264 » adp5585_fix_gpio_can_not_set_to_input.patch

余 顺, 06/27/2024 07:39 AM

View differences:

kernel/drivers/gpio/gpio-adp5585.c
struct adp5585_gpio_dev *adp5585_gpio;
unsigned int bank, bit;
int ret;
u8 val;
adp5585_gpio = gpiochip_get_data(chip);
bank = ADP5585_BANK(off);
......
mutex_lock(&adp5585_gpio->lock);
adp5585_gpio->dir[bank] &= ~bit;
ret = adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPIO_DIRECTION_A + bank,
adp5585_gpio_reg_read(adp5585_gpio, ADP5585_GENERAL_CFG, &val);
val |= ADP5585_GENERAL_CFG_OSC_EN;
ret = adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GENERAL_CFG, val);
ret |= adp5585_gpio_reg_write(adp5585_gpio, ADP5585_GPIO_DIRECTION_A + bank,
adp5585_gpio->dir[bank]);
mutex_unlock(&adp5585_gpio->lock);
return ret;
(3-3/3)