diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 31f476a64790e09dd6f005b42cee0800e8c0362f..ce5ac268074e49d77cec208915e12eb3eed06fac 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -2071,7 +2071,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, y_diff = info->var.yres - var.yres; if (x_diff < 0 || x_diff > virt_fw || y_diff < 0 || y_diff > virt_fh) { - struct fb_videomode *mode; + const struct fb_videomode *mode; DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); mode = fb_find_best_mode(&var, &info->modelist); @@ -2975,7 +2975,7 @@ static void fbcon_new_modelist(struct fb_info *info) int i; struct vc_data *vc; struct fb_var_screeninfo var; - struct fb_videomode *mode; + const struct fb_videomode *mode; for (i = first_fb_vc; i <= last_fb_vc; i++) { if (registered_fb[con2fb_map[i]] != info) diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h index b9386d168c0499a260a99b9b9c3d76fec8828d27..71f24e00fcd041c54212166f30db1c9e23283aa6 100644 --- a/drivers/video/console/fbcon.h +++ b/drivers/video/console/fbcon.h @@ -48,7 +48,7 @@ struct display { struct fb_bitfield green; struct fb_bitfield blue; struct fb_bitfield transp; - struct fb_videomode *mode; + const struct fb_videomode *mode; }; struct fbcon_ops { diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c index 323bdf6fc7d5c10ae1360aadf8a904f4c92a52c5..818fb09105f9885829a392e776a9baa8e548c492 100644 --- a/drivers/video/fbsysfs.c +++ b/drivers/video/fbsysfs.c @@ -175,7 +175,7 @@ static ssize_t store_modes(struct device *device, acquire_console_sem(); list_splice(&fb_info->modelist, &old_list); - fb_videomode_to_modelist((struct fb_videomode *)buf, i, + fb_videomode_to_modelist((const struct fb_videomode *)buf, i, &fb_info->modelist); if (fb_new_modelist(fb_info)) { fb_destroy_modelist(&fb_info->modelist); diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c index 29f89db428ce1e7a6f24c146ca65614bb5c9b8bd..ab1b8fe34d6db9921d67ab966de098750df96d29 100644 --- a/drivers/video/i810/i810_main.c +++ b/drivers/video/i810/i810_main.c @@ -1049,7 +1049,7 @@ static int i810_check_params(struct fb_var_screeninfo *var, mode_valid = 1; if (!mode_valid && info->monspecs.modedb_len) { - struct fb_videomode *mode; + const struct fb_videomode *mode; mode = fb_find_best_mode(var, &info->modelist); if (mode) { @@ -1924,7 +1924,7 @@ static void __devinit i810fb_find_init_mode(struct fb_info *info) fb_videomode_to_modelist(specs->modedb, specs->modedb_len, &info->modelist); if (specs->modedb != NULL) { - struct fb_videomode *m; + const struct fb_videomode *m; if (xres && yres) { if ((m = fb_find_best_mode(&var, &info->modelist))) { diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c index 53427a734d4b0d90db2e047aad71f66e858bbe25..61fc6cd25fc11ef3d3eba91747a5c312c7248c80 100644 --- a/drivers/video/modedb.c +++ b/drivers/video/modedb.c @@ -668,7 +668,7 @@ int fb_find_mode(struct fb_var_screeninfo *var, * @var: pointer to struct fb_var_screeninfo */ void fb_var_to_videomode(struct fb_videomode *mode, - struct fb_var_screeninfo *var) + const struct fb_var_screeninfo *var) { u32 pixclock, hfreq, htotal, vtotal; @@ -712,7 +712,7 @@ void fb_var_to_videomode(struct fb_videomode *mode, * @mode: pointer to struct fb_videomode */ void fb_videomode_to_var(struct fb_var_screeninfo *var, - struct fb_videomode *mode) + const struct fb_videomode *mode) { var->xres = mode->xres; var->yres = mode->yres; @@ -735,8 +735,8 @@ void fb_videomode_to_var(struct fb_var_screeninfo *var, * RETURNS: * 1 if equal, 0 if not */ -int fb_mode_is_equal(struct fb_videomode *mode1, - struct fb_videomode *mode2) +int fb_mode_is_equal(const struct fb_videomode *mode1, + const struct fb_videomode *mode2) { return (mode1->xres == mode2->xres && mode1->yres == mode2->yres && @@ -768,8 +768,8 @@ int fb_mode_is_equal(struct fb_videomode *mode1, * var->xres and var->yres. If more than 1 videomode is found, will return * the videomode with the highest refresh rate */ -struct fb_videomode *fb_find_best_mode(struct fb_var_screeninfo *var, - struct list_head *head) +const struct fb_videomode *fb_find_best_mode(const struct fb_var_screeninfo *var, + struct list_head *head) { struct list_head *pos; struct fb_modelist *modelist; @@ -806,8 +806,8 @@ struct fb_videomode *fb_find_best_mode(struct fb_var_screeninfo *var, * If more than 1 videomode is found, will return the videomode with * the closest refresh rate. */ -struct fb_videomode *fb_find_nearest_mode(struct fb_videomode *mode, - struct list_head *head) +const struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode, + struct list_head *head) { struct list_head *pos; struct fb_modelist *modelist; @@ -845,8 +845,8 @@ struct fb_videomode *fb_find_nearest_mode(struct fb_videomode *mode, * RETURNS: * struct fb_videomode, NULL if none found */ -struct fb_videomode *fb_match_mode(struct fb_var_screeninfo *var, - struct list_head *head) +const struct fb_videomode *fb_match_mode(const struct fb_var_screeninfo *var, + struct list_head *head) { struct list_head *pos; struct fb_modelist *modelist; @@ -870,7 +870,7 @@ struct fb_videomode *fb_match_mode(struct fb_var_screeninfo *var, * NOTES: * Will only add unmatched mode entries */ -int fb_add_videomode(struct fb_videomode *mode, struct list_head *head) +int fb_add_videomode(const struct fb_videomode *mode, struct list_head *head) { struct list_head *pos; struct fb_modelist *modelist; @@ -905,7 +905,8 @@ int fb_add_videomode(struct fb_videomode *mode, struct list_head *head) * NOTES: * Will remove all matching mode entries */ -void fb_delete_videomode(struct fb_videomode *mode, struct list_head *head) +void fb_delete_videomode(const struct fb_videomode *mode, + struct list_head *head) { struct list_head *pos, *n; struct fb_modelist *modelist; @@ -941,7 +942,7 @@ void fb_destroy_modelist(struct list_head *head) * @num: number of entries in array * @head: struct list_head of modelist */ -void fb_videomode_to_modelist(struct fb_videomode *modedb, int num, +void fb_videomode_to_modelist(const struct fb_videomode *modedb, int num, struct list_head *head) { int i; @@ -954,12 +955,12 @@ void fb_videomode_to_modelist(struct fb_videomode *modedb, int num, } } -struct fb_videomode *fb_find_best_display(struct fb_monspecs *specs, - struct list_head *head) +const struct fb_videomode *fb_find_best_display(const struct fb_monspecs *specs, + struct list_head *head) { struct list_head *pos; struct fb_modelist *modelist; - struct fb_videomode *m, *m1 = NULL, *md = NULL, *best = NULL; + const struct fb_videomode *m, *m1 = NULL, *md = NULL, *best = NULL; int first = 0; if (!head->prev || !head->next || list_empty(head)) diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c index 547374230179a2db25d8830dbbf5c6ed5387eaef..8e5b484db6498253fceaea43d818a13cbaa6970f 100644 --- a/drivers/video/nvidia/nvidia.c +++ b/drivers/video/nvidia/nvidia.c @@ -829,7 +829,7 @@ static int nvidiafb_check_var(struct fb_var_screeninfo *var, } if (!mode_valid) { - struct fb_videomode *mode; + const struct fb_videomode *mode; mode = fb_find_best_mode(var, &info->modelist); if (mode) { @@ -1046,10 +1046,10 @@ static int __devinit nvidia_set_fbinfo(struct fb_info *info) } if (specs->modedb != NULL) { - struct fb_videomode *modedb; + const struct fb_videomode *mode; - modedb = fb_find_best_display(specs, &info->modelist); - fb_videomode_to_var(&nvidiafb_default_var, modedb); + mode = fb_find_best_display(specs, &info->modelist); + fb_videomode_to_var(&nvidiafb_default_var, mode); nvidiafb_default_var.bits_per_pixel = bpp; } else if (par->fpWidth && par->fpHeight) { char buf[16]; diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c index 9316905e027a109abd61b623e7bb560aeca737ca..f2e9b742c92fe812471d72b3a607039268d51145 100644 --- a/drivers/video/riva/fbdev.c +++ b/drivers/video/riva/fbdev.c @@ -894,7 +894,8 @@ static int riva_load_video_mode(struct fb_info *info) return rc; } -static void riva_update_var(struct fb_var_screeninfo *var, struct fb_videomode *modedb) +static void riva_update_var(struct fb_var_screeninfo *var, + const struct fb_videomode *modedb) { NVTRACE_ENTER(); var->xres = var->xres_virtual = modedb->xres; @@ -1152,7 +1153,7 @@ static int rivafb_release(struct fb_info *info, int user) static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) { - struct fb_videomode *mode; + const struct fb_videomode *mode; struct riva_par *par = info->par; int nom, den; /* translating from pixels->bytes */ int mode_valid = 0; diff --git a/drivers/video/savage/savagefb_driver.c b/drivers/video/savage/savagefb_driver.c index 82b3deaae02de532ba7ee3e34f21e47392d5a585..4afa30522fdbb4c375b37057a77b3a04d1bf3097 100644 --- a/drivers/video/savage/savagefb_driver.c +++ b/drivers/video/savage/savagefb_driver.c @@ -833,7 +833,8 @@ static void savage_set_default_par(struct savagefb_par *par, vga_out8(0x3d5, cr66, par); } -static void savage_update_var(struct fb_var_screeninfo *var, struct fb_videomode *modedb) +static void savage_update_var(struct fb_var_screeninfo *var, + const struct fb_videomode *modedb) { var->xres = var->xres_virtual = modedb->xres; var->yres = modedb->yres; @@ -902,7 +903,7 @@ static int savagefb_check_var(struct fb_var_screeninfo *var, } if (!mode_valid) { - struct fb_videomode *mode; + const struct fb_videomode *mode; mode = fb_find_best_mode(var, &info->modelist); if (mode) { @@ -2206,11 +2207,10 @@ static int __devinit savagefb_probe(struct pci_dev* dev, info->monspecs.modedb, info->monspecs.modedb_len, NULL, 8); } else if (info->monspecs.modedb != NULL) { - struct fb_videomode *modedb; + const struct fb_videomode *mode; - modedb = fb_find_best_display(&info->monspecs, - &info->modelist); - savage_update_var(&info->var, modedb); + mode = fb_find_best_display(&info->monspecs, &info->modelist); + savage_update_var(&info->var, mode); } /* maximize virtual vertical length */ diff --git a/include/linux/fb.h b/include/linux/fb.h index 9402dec393ac5a203296208b24d588ad26153a0a..a78e25683f820bc056e80db62814180ee063e413 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -952,25 +952,26 @@ extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter); /* drivers/video/modedb.c */ #define VESA_MODEDB_SIZE 34 extern void fb_var_to_videomode(struct fb_videomode *mode, - struct fb_var_screeninfo *var); + const struct fb_var_screeninfo *var); extern void fb_videomode_to_var(struct fb_var_screeninfo *var, - struct fb_videomode *mode); -extern int fb_mode_is_equal(struct fb_videomode *mode1, - struct fb_videomode *mode2); -extern int fb_add_videomode(struct fb_videomode *mode, struct list_head *head); -extern void fb_delete_videomode(struct fb_videomode *mode, + const struct fb_videomode *mode); +extern int fb_mode_is_equal(const struct fb_videomode *mode1, + const struct fb_videomode *mode2); +extern int fb_add_videomode(const struct fb_videomode *mode, + struct list_head *head); +extern void fb_delete_videomode(const struct fb_videomode *mode, struct list_head *head); -extern struct fb_videomode *fb_match_mode(struct fb_var_screeninfo *var, - struct list_head *head); -extern struct fb_videomode *fb_find_best_mode(struct fb_var_screeninfo *var, - struct list_head *head); -extern struct fb_videomode *fb_find_nearest_mode(struct fb_videomode *mode, - struct list_head *head); +extern const struct fb_videomode *fb_match_mode(const struct fb_var_screeninfo *var, + struct list_head *head); +extern const struct fb_videomode *fb_find_best_mode(const struct fb_var_screeninfo *var, + struct list_head *head); +extern const struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode, + struct list_head *head); extern void fb_destroy_modelist(struct list_head *head); -extern void fb_videomode_to_modelist(struct fb_videomode *modedb, int num, +extern void fb_videomode_to_modelist(const struct fb_videomode *modedb, int num, struct list_head *head); -extern struct fb_videomode *fb_find_best_display(struct fb_monspecs *specs, - struct list_head *head); +extern const struct fb_videomode *fb_find_best_display(const struct fb_monspecs *specs, + struct list_head *head); /* drivers/video/fbcmap.c */ extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp);