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~4193 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e6b41fe7093c0277bf59f7c3ddf13f83b4190254;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 f9f4936a6838..d808b2c4ceea 100644 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -3143,6 +3143,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; @@ -3169,6 +3170,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) &&