static int mtktsbattery2_get_temp(struct thermal_zone_device *thermal, unsigned long *t) { *t = (unsigned long)get_hw_battery2_temp() * 1000; mtktsbattery2_dprintk("[mtktsbattery2_get_hw_temp] T_Battery, %d\n", *t); return 0; }
static int mtktsbattery2_get_hw_temp(void) { int t_ret=0; // static int battery2[60]={0}; // int i=0; mutex_lock(&battery2_lock); //get HW battery2 temp (TSbattery2) //cat /sys/class/power_supply/battery2/batt_temp t_ret = get_hw_battery2_temp(); t_ret = t_ret * 1000; mutex_unlock(&battery2_lock); mtktsbattery2_dprintk("[mtktsbattery2_get_hw_temp] T_battery2, %d\n", t_ret); return t_ret; }
static int mtktsbattery2_get_hw_temp(void) { int t_ret=0; static int battery2[60]={0}; static int counter=0, first_time=0; int i=0; mutex_lock(&battery2_lock); //get HW battery2 temp (TSbattery2) //cat /sys/class/power_supply/battery2/batt_temp t_ret = get_hw_battery2_temp(); t_ret = t_ret * 1000; battery2[counter]=t_ret; if(first_time!=0) { t_ret = 0; for(i=0; i<MA_len; i++) { t_ret += battery2[i]; } t_ret = t_ret / MA_len; } counter++; if(counter==MA_len) { counter=0; first_time=1; } if(counter>MA_len) { counter=0; first_time=0; } mutex_unlock(&battery2_lock); mtktsbattery2_dprintk("[mtktsbattery2_get_hw_temp] counter=%d, first_time =%d, MA_len=%d\n", counter, first_time, MA_len); mtktsbattery2_dprintk("[mtktsbattery2_get_hw_temp] T_battery2, %d\n", t_ret); return t_ret; }