|
@@ -912,6 +912,7 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|
|
{
|
|
|
unsigned int line_length;
|
|
|
struct gbe_timing_info timing;
|
|
|
+ int ret;
|
|
|
|
|
|
/* Limit bpp to 8, 16, and 32 */
|
|
|
if (var->bits_per_pixel <= 8)
|
|
@@ -930,8 +931,10 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|
|
|
|
|
var->grayscale = 0; /* No grayscale for now */
|
|
|
|
|
|
- if ((var->pixclock = compute_gbe_timing(var, &timing)) < 0)
|
|
|
- return(-EINVAL);
|
|
|
+ ret = compute_gbe_timing(var, &timing);
|
|
|
+ var->pixclock = ret;
|
|
|
+ if (ret < 0)
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
/* Adjust virtual resolution, if necessary */
|
|
|
if (var->xres > var->xres_virtual || (!ywrap && !ypan))
|