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....@gmail.com>
---
 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
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to