diff --git a/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c b/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c index ba580623692c..f355037fa12f 100644 --- a/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c +++ b/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c @@ -89,6 +89,7 @@ enum bq2589x_part_no { BQ25890 = 0x03, BQ25892 = 0x00, BQ25895 = 0x07, + SC89890H = 0x04, }; struct bq2589x_config { @@ -2364,13 +2365,16 @@ static int bq2589x_charger_probe(struct i2c_client *client, i2c_set_clientdata(client, bq); ret = bq2589x_detect_device(bq); - if (!ret && bq->part_no == BQ25890) { - bq->status |= BQ2589X_STATUS_EXIST; - dev_info(dev, "%s: charger device bq25890 detected, revision:%d\n", __func__, bq->revision); - } else { - dev_info(dev, "%s: no bq25890 charger device found:%d\n", __func__, ret); - return -ENODEV; - } + if (!ret && bq->part_no == BQ25890) { + bq->status |= BQ2589X_STATUS_EXIST; + dev_info(dev, "%s: charger device bq25890 detected, revision:%d\n", __func__, bq->revision); + } else if (!ret && bq->part_no == SC89890H) { + bq->status |= BQ2589X_STATUS_EXIST; + dev_info(dev, "%s: charger device sc89890h detected, revision:%d\n", __func__, bq->revision); + } else { + dev_info(dev, "%s: no bq25890 charger device found:%d\n", __func__, ret); + return -ENODEV; + } bq->batt_psy = power_supply_get_by_name("bms");