From: <li...@ar...> - 2008-12-21 11:07:31
|
On Sun, Dec 21, 2008 at 06:59:34PM +0800, Jaya Kumar wrote: > +static void broadsheetfb_dpy_update_pages(struct broadsheetfb_par *par, > + u16 y1, u16 y2) > +{ > + u16 args[5]; > + unsigned char *buf = (unsigned char __force *)par->info->screen_base; You shouldn't add __force inside drivers. > + videomemorysize = (DPY_W*DPY_H); > + videomemory = vmalloc(videomemorysize); > + if (!videomemory) > + goto err_fb_rel; > + > + memset(videomemory, 0, videomemorysize); > + > + info->screen_base = (char __force __iomem *)videomemory; Ditto. Also, using vmalloc for the backing store means this memory can't be mmap()'d into userspace, which is a very common thing for framebuffer using programs to do. If mmap() is to be denied, then you should provide a mmap implementation in the fb_ops structure. |