static int wm831x_backlight_update_status(struct backlight_device *bl)
{
	int brightness = bl->props.brightness;
	if (brightness<=BL_MISC_VALUE) {
		brightness = 8*brightness;
	}
	else if (brightness<=BL_INIT_VALUE) {
		brightness = 31*brightness/41 + 145;
	}
	else {
		brightness = 33*brightness/153 + 200;
	}

	if(gwm831x_data->suspend_flag == 1)
		brightness = 0;
	if (gwm831x_data->shutdown_flag == 1)
		brightness = 0;
		
	if (bl->props.power != FB_BLANK_UNBLANK)
		brightness = 0;

	if (bl->props.fb_blank != FB_BLANK_UNBLANK)
		brightness = 0;

	if (bl->props.state & BL_CORE_SUSPENDED)
		brightness = 0;

	printk("backlight brightness=%d\n", brightness);

	return wm831x_backlight_set(bl, brightness);
}
Beispiel #2
0
static int wm831x_backlight_update_status(struct backlight_device *bl)
{
	int brightness = bl->props.brightness;

	if (bl->props.power != FB_BLANK_UNBLANK)
		brightness = 0;

	if (bl->props.fb_blank != FB_BLANK_UNBLANK)
		brightness = 0;

	if (bl->props.state & BL_CORE_SUSPENDED)
		brightness = 0;

	return wm831x_backlight_set(bl, brightness);
}