static void rt9396_wakeup(struct rt9396_driver_data *drvdata)
{
	if (!drvdata || drvdata->state == NORMAL_STATE)
		return;

   printk("[rt9396_wakeup] pre intensity:%d !!!!!\n", drvdata->intensity);
	if(rt9396_powerstate == SLEEP_STATE){
			rt9396_powerstate = NORMAL_STATE;
	}
//LGE_CHANGE_S, [[email protected]] , 2012-07-09
	//For backlight timing
	if(bl_chargerlogo == 1)
		msleep(50);
	else
		msleep(100);
//LGE_CHANGE_E, [[email protected]] , 2012-07-09	
	if (drvdata->state == POWEROFF_STATE) {
		//rt9396_poweron(drvdata);
	} else if (drvdata->state == SLEEP_STATE) {
		if (drvdata->mode == NORMAL_MODE) 
		{
         #if 0 /*2012-09-26 junghoon-kim([email protected]) LCD-LED brightness bug.[START]*/
			rt9396_set_table(drvdata, drvdata->cmds.normal);			
         #endif /*2012-09-26 junghoon-kim([email protected]) porting from bu61800 driver [END]*/
			drvdata->state = NORMAL_STATE;
		} else if (drvdata->mode == ALC_MODE) {
			//nothing
		}
	}

   #if 0//[V3][junghoon79.kim][2012.9.16] no file ( LG_diag_testmode.c )
	/* LGE_CHANGE_S : Test Mode(Flight Mode)
	 * 2012-07-05, [email protected]
	 * [L38C][Test Mode][Common] Modify to automatically turn off LCD while test mode flight mode on.
	 */
	// LGE_CHANGE_S [[email protected]][07-03][start]
	// minimum current at SMT
	if(LGF_TestMode_Is_SleepMode())
	{
		if(rt9396_powerstate == NORMAL_STATE )
		{
				LGF_SendKey(116);	// power key
				set_operation_mode(true);
		}
	}
	// LGE_CHANGE_E [[email protected]][07-03][end]
	/* LGE_CHANGE_E : Test Mode(Flight Mode) */
   #endif

}
Beispiel #2
0
static void lm3530_wakeup(struct lm3530_driver_data *drvdata)
{
//	unsigned int lm3530_intensity;

	if (!drvdata || drvdata->state == NORMAL_STATE)
		return;

	// [email protected] 20111024 set lcd_bl_en & sub_pm_en high when wake up
	//#define LCD_BL_EN 124
    	gpio_tlmm_config(GPIO_CFG(124, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_ENABLE);
    	gpio_set_value(124, 1); 
	//udelay(10);
	msleep(150);  /* [email protected] 2011-12-27  */
    lm3530_current_state = NORMAL_STATE;
	
	dprintk("operation mode is %s\n", (drvdata->mode == NORMAL_MODE) ? "normal_mode" : "alc_mode");

	if (drvdata->state == POWEROFF_STATE) {
		lm3530_poweron(drvdata);
		/* LGE_CHANGE
		 * Because the lm3530_go_opmode is called in the lm3530_poweron above, so I remove below function.
		 * If it is called two times when the previous state of AAT2862 is POWEROFF_STATE, it causes malfucction.
		 * 2010-07-31. [email protected]
		 */
		//lm3530_go_opmode(drvdata);
	} else if (drvdata->state == SLEEP_STATE) {
		if (drvdata->mode == NORMAL_MODE) {
				lm3530_set_table(drvdata, drvdata->cmds.normal);
				lm3530_write(drvdata->client, drvdata->reg_addrs.bl_m, drvdata->intensity);
			drvdata->state = NORMAL_STATE;
		} else if (drvdata->mode == ALC_MODE) {
			/* LGE_CHANGE
			 * Remove ALC mode
			 * 2010-07-26. [email protected]
			 */
			//lm3530_set_table(drvdata, drvdata->cmds.alc);
			//drvdata->state = NORMAL_STATE;
		}
	}

	if(LGF_TestMode_Is_SleepMode())
	{
		msleep(500);
	    LGF_SendKey(116);	// power key
	}
}
static void rt9396_sleep(struct rt9396_driver_data *drvdata)
{
	if (!drvdata || drvdata->state == SLEEP_STATE)
		return;	

printk("[rt9396_sleep] pre intensity:%d !!!!!\n", drvdata->intensity);
	switch (drvdata->mode) {
		case NORMAL_MODE:
			drvdata->state = SLEEP_STATE;
			rt9396_set_table(drvdata, drvdata->cmds.sleep);			
			break;

		case ALC_MODE: //not use
			break;
		default:
			eprintk("Invalid Mode\n");
			break;
	}

//2012-11-19 junghoon.kim([email protected]) sleep current issue in cal&auto test(LCD dettach state)[START]
#ifdef CONFIG_LGE_SUPPORT_MINIOS
     if(LGE_BOOT_MODE_MINIOS == get_lge_boot_mode())
     {
         //eprintk("[rt9396_sleep] dddd LGE_BOOT_MODE_MINIOS : gpio_set_value\n");
         gpio_set_value(drvdata->gpio, 1);
         mdelay(1);
         gpio_set_value(drvdata->gpio, 0);
     }
#endif
//2012-11-19 junghoon.kim([email protected]) sleep current issue in cal&auto test(LCD dettach state)[END]

   #if 0//[V3][junghoon79.kim][2012.9.16] no file ( LG_diag_testmode.c )
	// LGE_CHANGE_S [[email protected]][07-03][start]
	// minimum current at SMT
	if(LGF_TestMode_Is_SleepMode()) {
		set_operation_mode(false);
	} 
   else 
    #endif
	{
		if(rt9396_powerstate == NORMAL_STATE){
			rt9396_powerstate = SLEEP_STATE;
		}
	}
	// LGE_CHANGE_E [[email protected]][end]
}