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;
}
Example #2
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;
}