|
@@ -71,17 +71,16 @@ static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset)
|
|
|
{
|
|
|
struct tps65218_gpio *tps65218_gpio = gpiochip_get_data(gc);
|
|
|
struct tps65218 *tps65218 = tps65218_gpio->tps65218;
|
|
|
- unsigned long flags = gc->desc[offset].flags;
|
|
|
int ret;
|
|
|
|
|
|
- if (flags & FLAG_OPEN_SOURCE) {
|
|
|
+ if (gpiochip_line_is_open_source(gc, offset)) {
|
|
|
dev_err(gc->parent, "can't work as open source\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
switch (offset) {
|
|
|
case 0:
|
|
|
- if (!(flags & FLAG_OPEN_DRAIN)) {
|
|
|
+ if (!gpiochip_line_is_open_drain(gc, offset)) {
|
|
|
dev_err(gc->parent, "GPO1 works only as open drain\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
@@ -103,7 +102,7 @@ static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset)
|
|
|
break;
|
|
|
case 1:
|
|
|
/* GP02 is push-pull by default, can be set as open drain. */
|
|
|
- if (flags & FLAG_OPEN_DRAIN) {
|
|
|
+ if (gpiochip_line_is_open_drain(gc, offset)) {
|
|
|
ret = tps65218_clear_bits(tps65218,
|
|
|
TPS65218_REG_CONFIG1,
|
|
|
TPS65218_CONFIG1_GPO2_BUF,
|
|
@@ -122,7 +121,7 @@ static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset)
|
|
|
break;
|
|
|
|
|
|
case 2:
|
|
|
- if (!(flags & FLAG_OPEN_DRAIN)) {
|
|
|
+ if (!gpiochip_line_is_open_drain(gc, offset)) {
|
|
|
dev_err(gc->parent, "GPO3 works only as open drain\n");
|
|
|
return -EINVAL;
|
|
|
}
|