modify config for rkfb dual display
authoryxj <yxj@rock-chips.com>
Wed, 12 Sep 2012 11:01:21 +0000 (19:01 +0800)
committeryxj <yxj@rock-chips.com>
Thu, 13 Sep 2012 06:51:49 +0000 (14:51 +0800)
drivers/video/rockchip/Kconfig
drivers/video/rockchip/rk_fb.c

index ec333509658dd717e5c059e9116d5873386de63c..27226c26a3973b073aa0e9d11f8e3d4dd6144a8c 100755 (executable)
@@ -7,18 +7,32 @@ config FB_ROCKCHIP
         ---help---
           Framebuffer driver for rockchip based platform
 
-config DUAL_DISP_IN_KERNEL
-        bool "implement dual display in kernel"
+choice
+        bool "Dual display ploy select"
+       depends on FB_ROCKCHIP
+       default NO_DUAL_DISP
+        help
+         If you use dual lcdc for dual display ,select "implement dual display in kernel with dual lcdc"
+         If you use one lcdc like rk2928 or one lcdc with RK Jetta,select "one lcdc dual output display interface support"
+       
+config DUAL_LCDC_DUAL_DISP_IN_KERNEL
+        bool "implement dual display in kernel with dual lcdc"
         depends on FB_ROCKCHIP
-        default y if HDMI_RK30
         help
           select y will implement dual screen display in kernel
+
 config ONE_LCDC_DUAL_OUTPUT_INF
         bool "one lcdc dual output display interface support"
         depends on FB_ROCKCHIP
-        default y if ARCH_RK2928
         help
           select y if on platform like rk2928 which have one lcdc but two output interface
+config NO_DUAL_DISP
+       bool "NO dual display needed"
+       depends on FB_ROCKCHIP
+       help
+         No dual display needed
+endchoice
+
 config THREE_FB_BUFFER
         bool "Three fb buffer support"
         depends on FB_ROCKCHIP
index c192a8e4d7770766ec29f444ff0bfa17b43a02e3..2620761b3e42e6647daf73295860df2c134bcd0c 100644 (file)
@@ -199,7 +199,7 @@ static int rk_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
        }
 
        #if defined(CONFIG_HDMI_RK30)
-               #if defined(CONFIG_DUAL_DISP_IN_KERNEL)
+               #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
                        if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED)
                        {
                                if(inf->num_fb >= 2)
@@ -363,7 +363,7 @@ static int rk_fb_set_par(struct fb_info *info)
        var->pixclock = dev_drv->pixclock;
        
        #if defined(CONFIG_HDMI_RK30)
-               #if defined(CONFIG_DUAL_DISP_IN_KERNEL)
+               #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
                        if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED)
                        {
                                if(inf->num_fb >= 2)
@@ -488,7 +488,7 @@ static int rk_fb_set_par(struct fb_info *info)
        par->yvir =  var->yres_virtual;
 
        #if defined(CONFIG_HDMI_RK30)
-               #if defined(CONFIG_DUAL_DISP_IN_KERNEL)
+               #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
                        if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED)
                        {
                                if(info != info2)
@@ -701,7 +701,7 @@ int rk_fb_switch_screen(rk_screen *screen ,int enable ,int lcdc_id)
        
        hdmi_var = &info->var;
        hdmi_fix = &info->fix;
-       #if defined(CONFIG_DUAL_DISP_IN_KERNEL)
+       #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
                if(likely(inf->num_lcdc == 2))
                {
                        pmy_var = &inf->fb[0]->var;
@@ -731,7 +731,7 @@ int rk_fb_switch_screen(rk_screen *screen ,int enable ,int lcdc_id)
        ret = info->fbops->fb_open(info,1);
        ret = dev_drv->load_screen(dev_drv,1);
        ret = info->fbops->fb_set_par(info);
-       #if defined(CONFIG_DUAL_DISP_IN_KERNEL)
+       #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
                if(likely(inf->num_lcdc == 2))
                {
                        pmy_info = inf->fb[0];
@@ -1204,7 +1204,7 @@ static int __devinit rk_fb_probe (struct platform_device *pdev)
        }
        platform_set_drvdata(pdev,fb_inf);
 #if defined(CONFIG_HDMI_RK30)
-               #if defined(CONFIG_DUAL_DISP_IN_KERNEL)         
+               #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)               
                        fb_inf->workqueue = create_singlethread_workqueue("hdmi_post");
                        INIT_DELAYED_WORK(&(fb_inf->delay_work), hdmi_post_work);
                #endif