@@ -1485,7 +1485,7 @@ davincifb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
struct fb_videomode *mode = &win->dm->mode;
struct davinci_layer_config lconfig;
struct fb_fix_screeninfo fix;
-
+
/*
* Get an updated copy of the video mode from the encoder manager, just
* in case the display has been switched.
@@ -1562,7 +1562,7 @@ davincifb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
return -EINVAL;
if (lconfig.xpos != win->xpos || lconfig.ypos != win->ypos)
return -EINVAL;
-
+
/*
* At this point we have accepted the var, so now we convert our layer
* configuration struct back to the var in order to make all of the
@@ -2192,8 +2192,8 @@ static void parse_win_params(struct vpbe_dm_win_info *win,
* Pass boot-time options by adding the following string to the boot params:
* video=davincifb:options
* Valid options:
- * osd0=[MxNxP,S@X,Y]
- * osd1=[MxNxP,S@X,Y]
+ * osd0=[off|MxNxP,S@X,Y]
+ * osd1=[off|MxNxP,S@X,Y]
* vid0=[off|MxNxP,S@X,Y]
* vid1=[off|MxNxP,S@X,Y]
* MxN are the horizontal and vertical window size
@@ -2201,8 +2201,8 @@ static void parse_win_params(struct vpbe_dm_win_info *win,
* S is the framebuffer size with a size suffix such as 'K' or 'M'
* X,Y are the window position
*
- * Only video windows can be turned off. Turning off a video window means that
- * no framebuffer device will be registered for it,
+ * Turning off a video window means that no framebuffer device will be
+ * registered for it,
*
* To cause a window to be supported by the framebuffer driver but not displayed
* initially, pass a value of 0 for the window size.
@@ -2310,13 +2310,14 @@ static int davincifb_probe(struct device *dev)
dm->win[WIN_OSD0].layer = WIN_OSD0;
dm->win[WIN_OSD0].dm = dm;
dm->win[WIN_OSD0].sdram_address = 0;
- davincifb_get_default_win_config(dev, &dm->win[WIN_OSD0], &lconfig,
- &fb_size, options);
- err =
- davincifb_init_window(dev, &dm->win[WIN_OSD0], &lconfig, fb_size,
- OSD0_FBNAME);
- if (err)
- goto osd0_out;
+ if (!davincifb_get_default_win_config
+ (dev, &dm->win[WIN_OSD0], &lconfig, &fb_size, options)) {
+ err =
+ davincifb_init_window(dev, &dm->win[WIN_OSD0], &lconfig,
+ fb_size, OSD0_FBNAME);
+ if (err)
+ goto osd0_out;
+ }
/* initialize VID0 */
dm->win[WIN_VID0].layer = WIN_VID0;
@@ -2335,13 +2336,14 @@ static int davincifb_probe(struct device *dev)
dm->win[WIN_OSD1].layer = WIN_OSD1;
dm->win[WIN_OSD1].dm = dm;
dm->win[WIN_OSD1].sdram_address = 0;
- davincifb_get_default_win_config(dev, &dm->win[WIN_OSD1], &lconfig,
- &fb_size, options);
- err =
- davincifb_init_window(dev, &dm->win[WIN_OSD1], &lconfig, fb_size,
- OSD1_FBNAME);
- if (err)
- goto osd1_out;
+ if (!davincifb_get_default_win_config
+ (dev, &dm->win[WIN_OSD1], &lconfig, &fb_size, options)) {
+ err =
+ davincifb_init_window(dev, &dm->win[WIN_OSD1], &lconfig,
+ fb_size, OSD1_FBNAME);
+ if (err)
+ goto osd1_out;
+ }
/* initialize VID1 */
dm->win[WIN_VID1].layer = WIN_VID1;