static void __software_charge_counter_revise(struct battery_type *battery, UINT32 ms) { if (battery->current_mA < 0) { #if HTC_ENABLE_POWER_DEBUG printk(DRIVER_ZONE "chgctr revise: delta=%d.\n", get_software_acr_revise(battery, ms)); #endif /* HTC_ENABLE_POWER_DEBUG*/ /* revise software charge counter by coulomb counter+curve tracer*/ battery->software_charge_counter_mAms += get_software_acr_revise(battery, ms); battery->charge_counter_mAh += (battery->software_charge_counter_mAms / 3600000); battery->software_charge_counter_mAms -= (battery->software_charge_counter_mAms / 3600000) * 3600000; /* store back the battery->charge_counter_mAh to battery->charge_counter_adc*/ battery->charge_counter_adc = (battery->charge_counter_mAh + charge_counter_zero_base_mAh) * acr_adc_to_mv_coef / acr_adc_to_mv_resl; } }
static void __software_charge_counter_revise(struct battery_type *battery, UINT32 ms) { if (battery->current_mA < 0) { #if HTC_ENABLE_POWER_DEBUG printk(DRIVER_ZONE "chgctr revise: delta=%d.\n", get_software_acr_revise(battery, ms)); #endif battery->software_charge_counter_mAms += get_software_acr_revise(battery, ms); battery->charge_counter_mAh += (battery->software_charge_counter_mAms / 3600000); battery->software_charge_counter_mAms -= (battery->software_charge_counter_mAms / 3600000) * 3600000; battery->charge_counter_adc = (battery->charge_counter_mAh + charge_counter_zero_base_mAh) * acr_adc_to_mv_coef / acr_adc_to_mv_resl; } }