From: Lucas Correia Villa Real This patch just fixes some typos and adds retval documentation for some functions that were missing it. I've also a question here: skeletonfb says that xxxfb_setcolreg() should return a negative errno on error. However, if the register number being accessed is out of bounds, 1 is returned. Shouldn't it be better to return -EINVAL instead? By looking at fbcmap.c, the retval isn't being checked against positive/negative values, so it doesn't make sense to return 1. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/skeletonfb.c | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff -puN drivers/video/skeletonfb.c~skeletonfb-documentation-fixes drivers/video/skeletonfb.c --- 25/drivers/video/skeletonfb.c~skeletonfb-documentation-fixes Wed Feb 9 14:05:13 2005 +++ 25-akpm/drivers/video/skeletonfb.c Wed Feb 9 14:05:13 2005 @@ -120,7 +120,7 @@ static struct fb_fix_screeninfo xxxfb_fi static struct fb_info info; /* - * Each one represents the a state of the hardware. Most hardware have + * Each one represents the state of the hardware. Most hardware have * just one hardware state. These here represent the default state(s). */ static struct xxx_par __initdata current_par; @@ -139,6 +139,8 @@ int xxxfb_setup(char*); * Usually you don't need to provide this function. The case where it * is used is to change from a text mode hardware state to a graphics * mode state. + * + * Returns negative errno on error, or zero on success. */ static int xxxfb_open(const struct fb_info *info, int user) { @@ -156,6 +158,8 @@ static int xxxfb_open(const struct fb_in * console system is released. Usually you don't need this function. * The case where it is usually used is to go from a graphics state * to a text mode state. + * + * Returns negative errno on error, or zero on success. */ static int xxxfb_release(const struct fb_info *info, int user) { @@ -201,8 +205,9 @@ static int xxxfb_check_var(struct fb_var * fb_info since we are using that data. This means we depend on the * data in var inside fb_info to be supported by the hardware. * xxxfb_check_var is always called before xxxfb_set_par to ensure this. - * Again if you can't can't the resolution you don't need this function. + * Again if you can't change the resolution you don't need this function. * + * Returns negative errno on error, or zero on success. */ static int xxxfb_set_par(struct fb_info *info) { @@ -217,14 +222,14 @@ static int xxxfb_set_par(struct fb_info * @red: The red value which can be up to 16 bits wide * @green: The green value which can be up to 16 bits wide * @blue: The blue value which can be up to 16 bits wide. - * @transp: If supported the alpha value which can be up to 16 bits wide. + * @transp: If supported, the alpha value which can be up to 16 bits wide. * @info: frame buffer info structure * * Set a single color register. The values supplied have a 16 bit * magnitude which needs to be scaled in this function for the hardware. * Things to take into consideration are how many color registers, if * any, are supported with the current color visual. With truecolor mode - * no color palettes are supported. Here a psuedo palette is created + * no color palettes are supported. Here a pseudo palette is created * which we store the value in pseudo_palette in struct fb_info. For * pseudocolor mode we have a limited color palette. To deal with this * we can program what color is displayed for a particular pixel value. @@ -238,7 +243,7 @@ static int xxxfb_setcolreg(unsigned regn const struct fb_info *info) { if (regno >= 256) /* no. of hw registers */ - return 1; + return -EINVAL; /* * Program hardware... do anything you want with transp */ @@ -295,7 +300,7 @@ static int xxxfb_setcolreg(unsigned regn u32 v; if (regno >= 16) - return 1; + return -EINVAL; v = (red << info->var.red.offset) | (green << info->var.green.offset) | @@ -563,7 +568,7 @@ int __init xxxfb_init(void) #endif /* - * Here we set the screen_base to the vitrual memory address + * Here we set the screen_base to the virtual memory address * for the framebuffer. Usually we obtain the resource address * from the bus layer and then translate it to virtual memory * space via ioremap. Consult ioport.h. @@ -621,6 +626,7 @@ static void __exit xxxfb_cleanup(void) */ unregister_framebuffer(info); + fb_dealloc_cmap(&info.cmap); /* ... */ } _