static int lm3528_suspend(struct i2c_client *i2c_dev, pm_message_t state) { struct lm3528_driver_data *drvdata = i2c_get_clientdata(i2c_dev); dprintk("start\n"); lm3528_write(drvdata->client, 0x80, 0x01); /* HW block disable */ return 0; }
/* jihye.ahn 2010-12-16 add shutdown I/F */ static int lm3528_shutdown(struct i2c_client *i2c_dev) { struct lm3528_driver_data *drvdata = i2c_get_clientdata(i2c_dev); printk("shutdown lm3528\n"); lm3528_write(drvdata->client, 0x10, 0x0); // LM3528 Disabled return 0; }
static void lm3528_early_suspend(struct early_suspend * h) { struct lm3528_driver_data *drvdata = container_of(h, struct lm3528_driver_data, early_suspend); dprintk("start[%s]\n",__func__); lm3528_write(drvdata->client, 0x10, 0x0); // LM3528 Disabled return; }
static void lm3528_late_resume(struct early_suspend * h) { struct lm3528_driver_data *drvdata = container_of(h, struct lm3528_driver_data, early_suspend); dprintk("start[%s]\n",__func__); lm3528_write(drvdata->client, 0x10, 0xC7); // LM3528 Enabled /* jihye.ahn 2010-11-15 to remove max brightness when backlight resume*/ //lm3528_init(drvdata); return; }
static int lm3528_send_intensity(struct lm3528_driver_data *drvdata, int next) { if(next > drvdata->max_intensity) next = drvdata->max_intensity; if(next < LCD_LED_MIN) next = LCD_LED_MIN; dprintk("next current is %d\n", next); if(drvdata->state == NORMAL_STATE && drvdata->intensity != next) lm3528_write(drvdata->client, 0xA0, next); /* jaeseong.gim 10.08.27 * for preventing backlight turn off issue */ #ifdef CONFIG_MACH_LGE_BRYCE drvdata->bd->props.brightness = #endif drvdata->intensity = next; return 0; }
static void lcd_timer(unsigned long arg) { lm3528_write(bl_i2c_client, 0xA0, next_bl); atomic_set(&backlight_event_handle,0); }