完成 #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 »