aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/arcfb.c
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-05-08 03:38:47 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:29 -0400
commitd2e8d369cd92a8bb856ff530fa1e4c03b0e0ff55 (patch)
treeac83dbc1be8d1e814732691f365487a039fb87a6 /drivers/video/arcfb.c
parent78494dd3442cf6ac5562f684c7073db2818d3afd (diff)
arcfb: kill sparse warning
The framebuffer memory is allocated from system RAM (vmalloc'ed). Add __force annotations. Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/arcfb.c')
-rw-r--r--drivers/video/arcfb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/arcfb.c b/drivers/video/arcfb.c
index 30a8369757e7..66e0bd1249e9 100644
--- a/drivers/video/arcfb.c
+++ b/drivers/video/arcfb.c
@@ -262,7 +262,8 @@ static void arcfb_lcd_update_page(struct arcfb_par *par, unsigned int upper,
262 ks108_set_yaddr(par, chipindex, upper/8); 262 ks108_set_yaddr(par, chipindex, upper/8);
263 263
264 linesize = par->info->var.xres/8; 264 linesize = par->info->var.xres/8;
265 src = par->info->screen_base + (left/8) + (upper * linesize); 265 src = (unsigned char __force *) par->info->screen_base + (left/8) +
266 (upper * linesize);
266 ks108_set_xaddr(par, chipindex, left); 267 ks108_set_xaddr(par, chipindex, left);
267 268
268 bitmask=1; 269 bitmask=1;
@@ -477,7 +478,7 @@ static ssize_t arcfb_write(struct file *file, const char __user *buf, size_t cou
477 if (count) { 478 if (count) {
478 char *base_addr; 479 char *base_addr;
479 480
480 base_addr = info->screen_base; 481 base_addr = (char __force *)info->screen_base;
481 count -= copy_from_user(base_addr + p, buf, count); 482 count -= copy_from_user(base_addr + p, buf, count);
482 *ppos += count; 483 *ppos += count;
483 err = -EFAULT; 484 err = -EFAULT;
@@ -603,7 +604,7 @@ static int arcfb_remove(struct platform_device *dev)
603 604
604 if (info) { 605 if (info) {
605 unregister_framebuffer(info); 606 unregister_framebuffer(info);
606 vfree(info->screen_base); 607 vfree((void __force *)info->screen_base);
607 framebuffer_release(info); 608 framebuffer_release(info);
608 } 609 }
609 return 0; 610 return 0;