diff options
author | Antonino A. Daplas <adaplas@gmail.com> | 2007-05-08 03:38:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:15:29 -0400 |
commit | d2e8d369cd92a8bb856ff530fa1e4c03b0e0ff55 (patch) | |
tree | ac83dbc1be8d1e814732691f365487a039fb87a6 /drivers/video/arcfb.c | |
parent | 78494dd3442cf6ac5562f684c7073db2818d3afd (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.c | 7 |
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; |