Merge branch 'for-4.2' of git://linux-nfs.org/~bfields/linux
[firefly-linux-kernel-4.4.55.git] / drivers / power / bq25890_charger.c
index c7b4903acd758079c79a7b3b3f4e37b3ac51113c..f993a55cde20f34a00d60d46b762e37ecef7af64 100644 (file)
@@ -99,7 +99,7 @@ struct bq25890_device {
        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;
 
@@ -721,19 +721,14 @@ static int bq25890_usb_notifier(struct notifier_block *nb, unsigned long val,
 
 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);
 }
 
@@ -842,7 +837,7 @@ static int bq25890_probe(struct i2c_client *client,
        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) {