完成 #264 » adp5585_fix_gpio_can_not_set_to_input.patch
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;
|
- « Previous
- 1
- 2
- 3
- Next »