This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/BQ25890: BQ25898YFFR linux driver

Part Number: BQ25890

Tool/software: Linux

While integrating bq2589x_charger driver into 4.1.15 kernel i am getting below error.

drivers/power/bq2589x_charger.c: In function ‘bq2589x_psy_register’:
drivers/power/bq2589x_charger.c:974:9: error: ‘struct power_supply’ has no member named ‘name’
  bq->usb.name = "bq2589x-usb";
         ^
drivers/power/bq2589x_charger.c:975:9: error: ‘struct power_supply’ has no member named ‘type’
  bq->usb.type = POWER_SUPPLY_TYPE_USB;
         ^
drivers/power/bq2589x_charger.c:976:9: error: ‘struct power_supply’ has no member named ‘properties’
  bq->usb.properties = bq2589x_charger_props;
         ^
drivers/power/bq2589x_charger.c:977:9: error: ‘struct power_supply’ has no member named ‘num_properties’
  bq->usb.num_properties = ARRAY_SIZE(bq2589x_charger_props);
         ^
drivers/power/bq2589x_charger.c:978:9: error: ‘struct power_supply’ has no member named ‘get_property’
  bq->usb.get_property = bq2589x_usb_get_property;
         ^
drivers/power/bq2589x_charger.c:979:9: error: ‘struct power_supply’ has no member named ‘external_power_changed’
  bq->usb.external_power_changed = NULL;
         ^
drivers/power/bq2589x_charger.c:981:2: warning: passing argument 2 of ‘power_supply_register’ from incompatible pointer type [enabled by default]
  ret = power_supply_register(bq->dev, &bq->usb);
  ^
In file included from drivers/power/bq2589x_charger.c:20:0:
include/linux/power_supply.h:364:1: note: expected ‘const struct power_supply_desc *’ but argument is of type ‘struct power_supply *’
 power_supply_register(struct device *parent,
 ^
drivers/power/bq2589x_charger.c:981:2: error: too few arguments to function ‘power_supply_register’
  ret = power_supply_register(bq->dev, &bq->usb);
  ^
In file included from drivers/power/bq2589x_charger.c:20:0:
include/linux/power_supply.h:364:1: note: declared here
 power_supply_register(struct device *parent,
 ^
drivers/power/bq2589x_charger.c:987:10: error: ‘struct power_supply’ has no member named ‘name’
  bq->wall.name = "bq2589x-Wall";
          ^
drivers/power/bq2589x_charger.c:988:10: error: ‘struct power_supply’ has no member named ‘type’
  bq->wall.type = POWER_SUPPLY_TYPE_MAINS;
          ^
drivers/power/bq2589x_charger.c:989:10: error: ‘struct power_supply’ has no member named ‘properties’
  bq->wall.properties = bq2589x_charger_props;
          ^
drivers/power/bq2589x_charger.c:990:10: error: ‘struct power_supply’ has no member named ‘num_properties’
  bq->wall.num_properties = ARRAY_SIZE(bq2589x_charger_props);
          ^
drivers/power/bq2589x_charger.c:991:10: error: ‘struct power_supply’ has no member named ‘get_property’
  bq->wall.get_property = bq2589x_wall_get_property;
          ^
drivers/power/bq2589x_charger.c:992:10: error: ‘struct power_supply’ has no member named ‘external_power_changed’
  bq->wall.external_power_changed = NULL;
          ^
drivers/power/bq2589x_charger.c:994:2: warning: passing argument 2 of ‘power_supply_register’ from incompatible pointer type [enabled by default]
  ret = power_supply_register(bq->dev, &bq->wall);
  ^
In file included from drivers/power/bq2589x_charger.c:20:0:
include/linux/power_supply.h:364:1: note: expected ‘const struct power_supply_desc *’ but argument is of type ‘struct power_supply *’
 power_supply_register(struct device *parent,
 ^
drivers/power/bq2589x_charger.c:994:2: error: too few arguments to function ‘power_supply_register’
  ret = power_supply_register(bq->dev, &bq->wall);
  ^
In file included from drivers/power/bq2589x_charger.c:20:0:
include/linux/power_supply.h:364:1: note: declared here
 power_supply_register(struct device *parent,
 ^
drivers/power/bq2589x_charger.c: In function ‘bq2589x_read_batt_rsoc’:
drivers/power/bq2589x_charger.c:1107:15: error: ‘struct power_supply’ has no member named ‘get_property’
   bq->batt_psy->get_property(bq->batt_psy,POWER_SUPPLY_PROP_CAPACITY,&ret);
               ^
drivers/power/bq2589x_charger.c: In function ‘bq2589x_charger_probe’:
drivers/power/bq2589x_charger.c:1544:1: warning: label ‘err_1’ defined but not used [-Wunused-label]
 err_1:
 ^
drivers/power/bq2589x_charger.c:1444:6: warning: unused variable ‘irqn’ [-Wunused-variable]
  int irqn;
      ^
drivers/power/bq2589x_charger.c: At top level:
drivers/power/bq2589x_charger.c:1430:20: warning: ‘bq2589x_charger_interrupt’ defined but not used [-Wunused-function]
 static irqreturn_t bq2589x_charger_interrupt(int irq, void *data)

Can you please tell me the right link to download the right driver for 4.1.15 Linux  kernel