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