static void s3c_bat_status_update(struct power_supply *bat_ps) { int old_level, old_temp, old_is_full; dev_dbg(dev, "%s ++\n", __func__); if(!s3c_battery_initial) return; mutex_lock(&work_lock); old_temp = s3c_bat_info.bat_info.batt_temp; old_level = s3c_bat_info.bat_info.level; old_is_full = s3c_bat_info.bat_info.batt_is_full; s3c_bat_info.bat_info.batt_temp = s3c_get_bat_temp(bat_ps); s3c_bat_info.bat_info.level = s3c_get_bat_level(bat_ps); s3c_bat_info.bat_info.batt_vol = s3c_get_bat_vol(bat_ps); if (old_level != s3c_bat_info.bat_info.level || old_temp != s3c_bat_info.bat_info.batt_temp || old_is_full != s3c_bat_info.bat_info.batt_is_full || force_update) { force_update = 0; power_supply_changed(bat_ps); dev_dbg(dev, "%s : call power_supply_changed\n", __func__); } mutex_unlock(&work_lock); dev_dbg(dev, "%s --\n", __func__); }
static void s3c_bat_status_update(struct power_supply *bat_ps) { int old_level, old_temp, old_is_full; dev_dbg(dev, "%s ++\n", __func__); if(!s3c_battery_initial) return; mutex_lock(&work_lock); old_temp = s3c_bat_info.bat_info.batt_temp; old_level = s3c_bat_info.bat_info.level; old_is_full = s3c_bat_info.bat_info.batt_is_full; s3c_bat_info.bat_info.batt_temp = s3c_get_bat_temp(bat_ps); s3c_bat_info.bat_info.level = s3c_get_bat_level(bat_ps); if (!s3c_bat_info.bat_info.charging_enabled && !s3c_bat_info.bat_info.batt_is_full) { if (s3c_bat_info.bat_info.level > old_level) s3c_bat_info.bat_info.level = old_level; } s3c_bat_info.bat_info.batt_vol = s3c_get_bat_vol(bat_ps); #if (defined __TEST_MODE_INTERFACE__ && defined __BATTERY_V_F__) if (s3c_bat_info.bat_info.batt_test_mode == 1) s3c_get_v_f_adc(); #endif /* __TEST_MODE_INTERFACE__ && __BATTERY_V_F__ */ if (old_level != s3c_bat_info.bat_info.level || old_temp != s3c_bat_info.bat_info.batt_temp || old_is_full != s3c_bat_info.bat_info.batt_is_full || force_update) { force_update = 0; power_supply_changed(bat_ps); dev_dbg(dev, "%s: call power_supply_changed\n", __func__); } mutex_unlock(&work_lock); dev_dbg(dev, "%s --\n", __func__); }