struct regmap *rmap;
struct regmap_field *rmap_fields[F_MAX_FIELDS];
- u8 chip_id;
+ int chip_id;
struct bq25890_init_data init_data;
struct bq25890_state state;
static int bq25890_irq_probe(struct bq25890_device *bq)
{
- int ret;
struct gpio_desc *irq;
- irq = devm_gpiod_get_index(bq->dev, BQ25890_IRQ_PIN, 0);
+ irq = devm_gpiod_get_index(bq->dev, BQ25890_IRQ_PIN, 0, GPIOD_IN);
if (IS_ERR(irq)) {
dev_err(bq->dev, "Could not probe irq pin.\n");
return PTR_ERR(irq);
}
- ret = gpiod_direction_input(irq);
- if (ret < 0)
- return ret;
-
return gpiod_to_irq(irq);
}
bq->chip_id = bq25890_field_read(bq, F_PN);
if (bq->chip_id < 0) {
dev_err(dev, "Cannot read chip ID.\n");
- return ret;
+ return bq->chip_id;
}
if (bq->chip_id != BQ25890_ID) {