Messages in this thread Patch in this message | | | Subject | [PATCH] Framebuffer Layer - Radeonfb, kernel 2.6.5 | From | Douglas Mayle <> | Date | Fri, 30 Apr 2004 17:55:07 +0200 |
| |
I've written two small modifications, one to the frame buffer code, and one to the radeonfb driver.
In fbmem.c, I've added an error message for people who specify a video= line with an invalid device name to help users save on troubleshooting time.
In radeonfb_monitor.c the bpp attribute is completely ignored, and 8 is hardcoded in as a default. I've changed the code to read the default bpp from the default mode. (Most users will never notice the difference, but I changed the default mode, and was baffled as to why the color depth didn't change.) --- linux-2.6.5/drivers/video/fbmem.c 2004-04-30 15:02:10.000000000 +0200 +++ patch/drivers/video/fbmem.c 2004-04-30 15:09:03.560390512 +0200 @@ -1470,6 +1470,18 @@ * If we get here no fb was specified. * We consider the argument to be a global video mode option. */ + + if (strchr(options, ':') != NULL) { + /* + * If a colon is in the string, then the user entered + * the wrong name for the fb device. We'll inform them + * of this. + */ + int fbnamelen = strchr(options, ':') - options; + options[fbnamelen] = '\0'; + printk ("Requested framebuffer device '%s' not found\n", options); + options[fbnamelen] = ':'; + } global_mode_option = options; return 0; } --- linux-2.6.5/drivers/video/aty/radeon_monitor.c 2004-04-30 15:02:10.000000000 +0200 +++ patch/drivers/video/aty/radeon_monitor.c 2004-04-30 15:09:03.559390664 +0200 @@ -854,12 +854,15 @@ */ if (!has_default_mode || mode_option) { struct fb_videomode default_mode; + unsigned int default_bpp = 8; if (has_default_mode) radeon_var_to_videomode(&default_mode, &rinfo->info->var); - else + else { radeon_var_to_videomode(&default_mode, &radeonfb_default_var); + default_bpp = radeonfb_default_var.bits_per_pixel; + } if (fb_find_mode(&rinfo->info->var, rinfo->info, mode_option, - rinfo->mon1_modedb, rinfo->mon1_dbsize, &default_mode, 8) == 0) + rinfo->mon1_modedb, rinfo->mon1_dbsize, &default_mode, default_bpp) == 0) rinfo->info->var = radeonfb_default_var; } | |