int init_cnt;
int low_bat_cnt;
int nbr_cceoc_irq_cnt;
+ u32 line_impedance_uohm;
bool recovery_needed;
bool high_curr_mode;
bool init_capacity;
resistance = bi->factory_internal_resistance_uohm / 1000;
}
+ /* Compensate for line impedance */
+ resistance += (di->line_impedance_uohm / 1000);
+
dev_dbg(di->dev, "%s Temp: %d battery internal resistance: %d"
" fg resistance %d, total: %d (mOhm)\n",
__func__, di->bat_temp, resistance, di->bm->fg_res / 10,
return ret;
}
+ if (!of_property_read_u32(dev->of_node, "line-impedance-micro-ohms",
+ &di->line_impedance_uohm))
+ dev_info(dev, "line impedance: %u uOhm\n",
+ di->line_impedance_uohm);
+
psy_cfg.supplied_to = supply_interface;
psy_cfg.num_supplicants = ARRAY_SIZE(supply_interface);
psy_cfg.drv_data = di;