Lines Matching refs:ip5xxx

77 struct ip5xxx {  struct
90 static int ip5xxx_read(struct ip5xxx *ip5xxx, unsigned int reg, in ip5xxx_read() argument
95 ret = regmap_read(ip5xxx->regmap, reg, val); in ip5xxx_read()
97 ip5xxx->initialized = false; in ip5xxx_read()
102 static int ip5xxx_update_bits(struct ip5xxx *ip5xxx, unsigned int reg, in ip5xxx_update_bits() argument
107 ret = regmap_update_bits(ip5xxx->regmap, reg, mask, val); in ip5xxx_update_bits()
109 ip5xxx->initialized = false; in ip5xxx_update_bits()
116 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy); in ip5xxx_initialize() local
119 if (ip5xxx->initialized) in ip5xxx_initialize()
126 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL1, in ip5xxx_initialize()
136 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL3, in ip5xxx_initialize()
145 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL4, in ip5xxx_initialize()
155 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL5, in ip5xxx_initialize()
164 ip5xxx->initialized = true; in ip5xxx_initialize()
184 static int ip5xxx_battery_get_status(struct ip5xxx *ip5xxx, int *val) in ip5xxx_battery_get_status() argument
189 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval); in ip5xxx_battery_get_status()
216 static int ip5xxx_battery_get_charge_type(struct ip5xxx *ip5xxx, int *val) in ip5xxx_battery_get_charge_type() argument
221 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval); in ip5xxx_battery_get_charge_type()
246 static int ip5xxx_battery_get_health(struct ip5xxx *ip5xxx, int *val) in ip5xxx_battery_get_health() argument
251 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval); in ip5xxx_battery_get_health()
263 static int ip5xxx_battery_get_voltage_max(struct ip5xxx *ip5xxx, int *val) in ip5xxx_battery_get_voltage_max() argument
268 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL2, &rval); in ip5xxx_battery_get_voltage_max()
293 static int ip5xxx_battery_read_adc(struct ip5xxx *ip5xxx, in ip5xxx_battery_read_adc() argument
299 ret = ip5xxx_read(ip5xxx, lo_reg, &lo); in ip5xxx_battery_read_adc()
303 ret = ip5xxx_read(ip5xxx, hi_reg, &hi); in ip5xxx_battery_read_adc()
316 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy); in ip5xxx_battery_get_property() local
326 return ip5xxx_battery_get_status(ip5xxx, &val->intval); in ip5xxx_battery_get_property()
329 return ip5xxx_battery_get_charge_type(ip5xxx, &val->intval); in ip5xxx_battery_get_property()
332 return ip5xxx_battery_get_health(ip5xxx, &val->intval); in ip5xxx_battery_get_property()
335 return ip5xxx_battery_get_voltage_max(ip5xxx, &val->intval); in ip5xxx_battery_get_property()
338 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATVADC_DAT0, in ip5xxx_battery_get_property()
345 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATOCV_DAT0, in ip5xxx_battery_get_property()
352 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATIADC_DAT0, in ip5xxx_battery_get_property()
359 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL4A, &rval); in ip5xxx_battery_get_property()
372 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax); in ip5xxx_battery_get_property()
376 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL2, &rval); in ip5xxx_battery_get_property()
385 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax); in ip5xxx_battery_get_property()
397 static int ip5xxx_battery_set_voltage_max(struct ip5xxx *ip5xxx, int val) in ip5xxx_battery_set_voltage_max() argument
416 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL2, in ip5xxx_battery_set_voltage_max()
421 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL4, in ip5xxx_battery_set_voltage_max()
434 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy); in ip5xxx_battery_set_property() local
455 return ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL0, in ip5xxx_battery_set_property()
459 return ip5xxx_battery_set_voltage_max(ip5xxx, val->intval); in ip5xxx_battery_set_property()
463 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL4A, in ip5xxx_battery_set_property()
467 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax); in ip5xxx_battery_set_property()
472 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL2, in ip5xxx_battery_set_property()
508 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy); in ip5xxx_boost_get_property() local
518 ret = ip5xxx_read(ip5xxx, IP5XXX_SYS_CTL0, &rval); in ip5xxx_boost_get_property()
526 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL1, &rval); in ip5xxx_boost_get_property()
543 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy); in ip5xxx_boost_set_property() local
554 return ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL0, in ip5xxx_boost_set_property()
559 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL1, in ip5xxx_boost_set_property()
594 struct ip5xxx *ip5xxx; in ip5xxx_power_probe() local
596 ip5xxx = devm_kzalloc(dev, sizeof(*ip5xxx), GFP_KERNEL); in ip5xxx_power_probe()
597 if (!ip5xxx) in ip5xxx_power_probe()
600 ip5xxx->regmap = devm_regmap_init_i2c(client, &ip5xxx_regmap_config); in ip5xxx_power_probe()
601 if (IS_ERR(ip5xxx->regmap)) in ip5xxx_power_probe()
602 return PTR_ERR(ip5xxx->regmap); in ip5xxx_power_probe()
605 psy_cfg.drv_data = ip5xxx; in ip5xxx_power_probe()