static void mtk_cooler_amutt_unregister_ltf(void)
{
    mtk_cooler_amutt_dprintk("[%s]\n", __func__);

    if (cl_upper_dev) {
        mtk_thermal_cooling_device_unregister(cl_upper_dev);
        cl_upper_dev = NULL;
    }

    if (cl_lower_dev) {
        mtk_thermal_cooling_device_unregister(cl_lower_dev);
        cl_lower_dev = NULL;
    }
}
예제 #2
0
void mtktspa_unregister_cooler(void)
{
	if (cl_dev_sysrst) {
		mtk_thermal_cooling_device_unregister(cl_dev_sysrst);
		cl_dev_sysrst = NULL;
	}
}
void mtktscpu_unregister_DVFS_hotplug_cooler(void)
{
	int i;
	for(i=0; i<CPU_COOLER_COUNT; i++)
	{
		if(mtk_cl_dev[i].cl_dev)
		{
			mtk_thermal_cooling_device_unregister(mtk_cl_dev[i].cl_dev);
			mtk_cl_dev[i].cl_dev = NULL;
		}	
	}
	if(cl_dev_sysrst) {
		mtk_thermal_cooling_device_unregister(cl_dev_sysrst);
		cl_dev_sysrst = NULL;
	}
}
static void mtk_cooler_dropcall_unregister_ltf(void)
{
  mtk_cooler_dropcall_dprintk("unregister ltf\n");
    
  if (cl_dropcall_dev) 
  {
    mtk_thermal_cooling_device_unregister(cl_dropcall_dev);
    cl_dropcall_dev = NULL;
  }
}
예제 #5
0
static void mtk_cooler_kshutdown_unregister_ltf(void)
{
    int i;
    mtk_cooler_kshutdown_dprintk("unregister ltf\n");

    for (i = MAX_NUM_INSTANCE_MTK_COOLER_KSHUTDOWN; i-- > 0;) {
        if (cl_kshutdown_dev[i]) {
            mtk_thermal_cooling_device_unregister(cl_kshutdown_dev[i]);
            cl_kshutdown_dev[i] = NULL;
            cl_kshutdown_state[i] = 0;
        }
    }
#if 0
    if (cl_kshutdown_dev) {
        mtk_thermal_cooling_device_unregister(cl_kshutdown_dev);
        cl_kshutdown_dev = NULL;
    }
#endif
}
static void mtk_cooler_backlight_unregister_ltf(void)
{
	int i;
	mtk_cooler_backlight_dprintk("unregister ltf\n");

	for (i = 0; i < BACKLIGHT_COOLER_NR; i++) {
		if (cl_backlight_dev[i]) {
			mtk_thermal_cooling_device_unregister(cl_backlight_dev[i]);
			cl_backlight_dev[i] = NULL;
		}
	}
}
static void mtk_cooler_vrt_unregister_ltf(void)
{
	int i;
	mtk_cooler_vrt_dprintk("unregister ltf\n");

	for (i = MAX_NUM_INSTANCE_MTK_COOLER_VRT; i-- > 0;) {
		if (cl_vrt_dev[i]) {
			mtk_thermal_cooling_device_unregister(cl_vrt_dev[i]);
			cl_vrt_dev[i] = NULL;
			cl_vrt_state[i] = 0;
		}
	}
}
static void mtk_cooler_fps_unregister_ltf(void)
{
	int i;

	mtk_cooler_fps_dprintk("unregister ltf\n");

	for (i = MAX_NUM_INSTANCE_MTK_COOLER_FPS; i-- > 0; ) {
		if (cl_fps_dev[i]) {
			mtk_thermal_cooling_device_unregister(cl_fps_dev[i]);
			cl_fps_dev[i] = NULL;
			cl_fps_state[i] = 0;
		}
	}

#if ADAPTIVE_FPS_COOLER
	if (cl_adp_fps_dev) {
		mtk_thermal_cooling_device_unregister(cl_adp_fps_dev);
		cl_adp_fps_dev = NULL;
		cl_adp_fps_state = 0;
	}
#endif
}
static void mtk_cooler_shutdown_unregister_ltf(void)
{
	int i;

	mtk_cooler_shutdown_dprintk("unregister ltf\n");

	for (i = MAX_NUM_INSTANCE_MTK_COOLER_SHUTDOWN; i-- > 0;) {
		if (cl_shutdown_dev[i]) {
			mtk_thermal_cooling_device_unregister(cl_shutdown_dev[i]);
			cl_shutdown_dev[i] = NULL;
			cl_sd_state[i].state = 0;
			cl_sd_state[i].sd_cnt = 0;
		}
	}
}
예제 #10
0
파일: tm_nth.c 프로젝트: Scorpio92/mediatek
static void mtk_cooler_tm_nth_unregister_ltf(void)
{
#if 0 // nth is not a cooler for now
  int i;
  mtk_cooler_tm_nth_dprintk("unregister ltf\n");

  for (i = MAX_NUM_INSTANCE_MTK_COOLER_TM_NTH; i-- > 0; )
  {
    if (cl_tm_nth_dev[i])
    {
      mtk_thermal_cooling_device_unregister(cl_tm_nth_dev[i]);
      cl_tm_nth_dev[i] = NULL;
      cl_tm_nth_state[i] = 0;
    }
  }
#endif
}
static ssize_t mtktscpu_cooler_write(struct file *file, const char *buffer, unsigned long count, void *data)
{
	int len;
	unsigned int cooler_cnt;
	char desc[512];
	unsigned int cooler_value[CPU_COOLER_COUNT];
	int i;
	bool is_pass = 0; 
	len = (count < (sizeof(desc) - 1)) ? count : (sizeof(desc) - 1);
	if (copy_from_user(desc, buffer, len))
	{
		return 0;
	}
	
	desc[len] = '\0';


	len = sscanf(desc, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
				&cooler_cnt, 
				&cooler_value[0],&cooler_value[1],&cooler_value[2], &cooler_value[3],&cooler_value[4],
				&cooler_value[5],&cooler_value[6],&cooler_value[7], &cooler_value[8],&cooler_value[9],
				&cooler_value[10],&cooler_value[11],&cooler_value[12], &cooler_value[13],&cooler_value[14]);

	if((len > 1) && (cooler_cnt == (len -1)))
	{
		if(cooler_cnt <= CPU_COOLER_COUNT) 
		{
			for(i=0; i<cooler_cnt; i++)
			{ 
				if (!((cooler_value[i] > 0) && (cooler_value[i] < 10000))) 
					break;
			}
			is_pass = 1;
		}			
	}
	
	if(is_pass == 1)
	{
		for(i=0; i<CPU_COOLER_COUNT; i++)	
		{	
			if(mtk_cl_dev[i].cl_dev)
			{
				mtk_thermal_cooling_device_unregister(mtk_cl_dev[i].cl_dev);
				mtk_cl_dev[i].cl_dev = NULL;
			}	
		}
		for(i=0; i<cooler_cnt; i++)	
		{
	  	   mtk_cl_dev[i].cl_limit = cooler_value[i];		   
		   sprintf(mtk_cl_dev[i].cooler_name,"%d", cooler_value[i]);
		   mtk_cl_dev[i].cl_dev = mtk_thermal_cooling_device_register(mtk_cl_dev[i].cooler_name, &mtk_cl_dev[i],
							  &mtktscpu_cooling_ops);	   
		}
		cl_dvfs_cooler_cnt = cooler_cnt;
		return count;		
	}
	else
	{
		mtktscpu_dprintk("[mtktscpu_write] bad argument\n");
	}

	return -EINVAL;
}