From: hjc Date: Mon, 13 Apr 2015 03:54:36 +0000 (+0800) Subject: rk fb: send uevent when change video mode X-Git-Tag: firefly_0821_release~4158^2~209 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=27dce982145aaa7fe59de6acc20cb49e60c2ba99;p=firefly-linux-kernel-4.4.55.git rk fb: send uevent when change video mode Signed-off-by: hjc --- diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index 1ff46f27d4ba..610b8b21cfdd 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -3166,6 +3166,7 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id) struct rk_lcdc_driver *dev_drv = NULL; char name[6] = {0}; int i, win_id, load_screen = 0; + char *envp[3]; if (unlikely(!rk_fb) || unlikely(!screen)) return -ENODEV; @@ -3192,6 +3193,16 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id) return 0; hdmi_switch_state = 0; dev_drv->hdmi_switch = 1; +#ifdef CONFIG_SWITCH + envp[0] = "switch screen"; + envp[1] = kmalloc(32, GFP_KERNEL); + if (envp[1] == NULL) + return 0; + sprintf(envp[1], "SCREEN=%d", screen->type); + envp[2] = NULL; + kobject_uevent_env(&dev_drv->dev->kobj, KOBJ_CHANGE, envp); + kfree(envp[1]); +#endif if ((rk_fb->disp_mode == ONE_DUAL) || (rk_fb->disp_mode == NO_DUAL)) { if ((dev_drv->ops->backlight_close) &&