This patch fixes the warning generated by sparse "cast removes address space of expression" by using ioread16 function insted of directly dereferencing I/O memory. Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> --- drivers/staging/fbtft/fb_agm1264k-fl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/fbtft/fb_agm1264k-fl.c b/drivers/staging/fbtft/fb_agm1264k-fl.c index 94dd49c..59826a4 100644 --- a/drivers/staging/fbtft/fb_agm1264k-fl.c +++ b/drivers/staging/fbtft/fb_agm1264k-fl.c @@ -273,7 +273,7 @@ construct_line_bitmap(struct fbtft_par *par, u8 *dest, signed short *src, static int write_vmem(struct fbtft_par *par, size_t offset, size_t len) { - u16 *vmem16 = (u16 *)par->info->screen_base; + void __iomem *vmem16 = (u16 __iomem *)par->info->screen_base; u8 *buf = par->txbuf.buf; int x, y; int ret = 0; @@ -290,7 +290,8 @@ static int write_vmem(struct fbtft_par *par, size_t offset, size_t len) /* converting to grayscale16 */ for (x = 0; x < par->info->var.xres; ++x) for (y = 0; y < par->info->var.yres; ++y) { - u16 pixel = vmem16[y * par->info->var.xres + x]; + u16 pixel = ioread16(vmem16 + + y * par->info->var.xres + x); u16 b = pixel & 0x1f; u16 g = (pixel & (0x3f << 5)) >> 5; u16 r = (pixel & (0x1f << (5 + 6))) >> (5 + 6); -- 2.4.0.GIT _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel