From: lyx Date: Mon, 25 Apr 2011 03:01:46 +0000 (-0700) Subject: rk29 mobile sdk:add backlight shutdown function X-Git-Tag: firefly_0821_release~10422 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e989e41c4b10ce1262406027b133460dc27fea54;p=firefly-linux-kernel-4.4.55.git rk29 mobile sdk:add backlight shutdown function --- diff --git a/drivers/video/backlight/wm831x_bl.c b/drivers/video/backlight/wm831x_bl.c index 0f52691b04fa..dca935efd094 100755 --- a/drivers/video/backlight/wm831x_bl.c +++ b/drivers/video/backlight/wm831x_bl.c @@ -34,6 +34,7 @@ struct wm831x_backlight_data { struct early_suspend early_suspend; struct delayed_work work; int suspend_flag; + int shutdown_flag; #endif }; #define TS_POLL_DELAY (10000*1000*1000) @@ -130,6 +131,8 @@ static int wm831x_backlight_update_status(struct backlight_device *bl) 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; @@ -305,6 +308,17 @@ static int wm831x_backlight_remove(struct platform_device *pdev) return 0; } +static void wm831x_backlight_shutdown(struct platform_device *pdev) +{ + struct backlight_device *bl = platform_get_drvdata(pdev); + struct wm831x_backlight_data *data = bl_get_data(bl); + + printk("enter %s\n", __func__); + data->shutdown_flag = 1; + wm831x_backlight_update_status(bl); + return; +} + static struct platform_driver wm831x_backlight_driver = { .driver = { .name = "wm831x-backlight", @@ -312,6 +326,7 @@ static struct platform_driver wm831x_backlight_driver = { }, .probe = wm831x_backlight_probe, .remove = wm831x_backlight_remove, + .shutdown = wm831x_backlight_shutdown, }; static int __init wm831x_backlight_init(void)