[PATCH 5/6] staging: sm750fb: Fix __iomem pointer types

2015-03-10 Thread Lorenzo Stoakes
This patch annotates pointers as referring to I/O mapped memory where they ought
to be, removes now unnecessary ugly casts, eliminates an incorrect deref on I/O
mapped memory by using iowrite16 instead, and updates the pointer arithmetic
accordingly to take into account that the pointers are now byte-sized. This
fixes the following sparse warnings:-

drivers/staging/sm750fb/sm750_cursor.c:113:19: warning: cast removes address 
space of expression
drivers/staging/sm750fb/sm750_cursor.c:204:19: warning: cast removes address 
space of expression

Signed-off-by: Lorenzo Stoakes 
---
 drivers/staging/sm750fb/sm750_cursor.c | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750_cursor.c 
b/drivers/staging/sm750fb/sm750_cursor.c
index 6cceef1..c2ff3bd 100644
--- a/drivers/staging/sm750fb/sm750_cursor.c
+++ b/drivers/staging/sm750fb/sm750_cursor.c
@@ -98,7 +98,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
int i,j,count,pitch,offset;
u8 color,mask,opr;
u16 data;
-   u16 * pbuffer,*pstart;
+   void __iomem * pbuffer,*pstart;
 
/*  in byte*/
pitch = cursor->w >> 3;
@@ -106,11 +106,11 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
/* in byte  */
count = pitch * cursor->h;
 
-   /* in ushort */
-   offset = cursor->maxW * 2 / 8 / 2;
+   /* in byte */
+   offset = cursor->maxW * 2 / 8;
 
data = 0;
-   pstart = (u16 *)cursor->vstart;
+   pstart = cursor->vstart;
pbuffer = pstart;
 
 /*
@@ -161,7 +161,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
}
}
 #endif
-   *pbuffer = data;
+   iowrite16(data, pbuffer);
 
/* assume pitch is 1,2,4,8,...*/
 #if 0
@@ -174,7 +174,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
pstart += offset;
pbuffer = pstart;
}else{
-   pbuffer++;
+   pbuffer += sizeof(u16);
}
 
}
@@ -189,7 +189,7 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
int i,j,count,pitch,offset;
u8 color, mask;
u16 data;
-   u16 * pbuffer,*pstart;
+   void __iomem * pbuffer,*pstart;
 
/*  in byte*/
pitch = cursor->w >> 3;
@@ -197,11 +197,11 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
/* in byte  */
count = pitch * cursor->h;
 
-   /* in ushort */
-   offset = cursor->maxW * 2 / 8 / 2;
+   /* in byte */
+   offset = cursor->maxW * 2 / 8;
 
data = 0;
-   pstart = (u16 *)cursor->vstart;
+   pstart = cursor->vstart;
pbuffer = pstart;
 
for(i=0;ihttp://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 5/6] staging: sm750fb: Fix __iomem pointer types

2015-03-10 Thread Lorenzo Stoakes
This patch annotates pointers as referring to I/O mapped memory where they ought
to be, removes now unnecessary ugly casts, eliminates an incorrect deref on I/O
mapped memory by using iowrite16 instead, and updates the pointer arithmetic
accordingly to take into account that the pointers are now byte-sized. This
fixes the following sparse warnings:-

drivers/staging/sm750fb/sm750_cursor.c:113:19: warning: cast removes address 
space of expression
drivers/staging/sm750fb/sm750_cursor.c:204:19: warning: cast removes address 
space of expression

Signed-off-by: Lorenzo Stoakes lstoa...@gmail.com
---
 drivers/staging/sm750fb/sm750_cursor.c | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750_cursor.c 
b/drivers/staging/sm750fb/sm750_cursor.c
index 6cceef1..c2ff3bd 100644
--- a/drivers/staging/sm750fb/sm750_cursor.c
+++ b/drivers/staging/sm750fb/sm750_cursor.c
@@ -98,7 +98,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
int i,j,count,pitch,offset;
u8 color,mask,opr;
u16 data;
-   u16 * pbuffer,*pstart;
+   void __iomem * pbuffer,*pstart;
 
/*  in byte*/
pitch = cursor-w  3;
@@ -106,11 +106,11 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
/* in byte  */
count = pitch * cursor-h;
 
-   /* in ushort */
-   offset = cursor-maxW * 2 / 8 / 2;
+   /* in byte */
+   offset = cursor-maxW * 2 / 8;
 
data = 0;
-   pstart = (u16 *)cursor-vstart;
+   pstart = cursor-vstart;
pbuffer = pstart;
 
 /*
@@ -161,7 +161,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
}
}
 #endif
-   *pbuffer = data;
+   iowrite16(data, pbuffer);
 
/* assume pitch is 1,2,4,8,...*/
 #if 0
@@ -174,7 +174,7 @@ void hw_cursor_setData(struct lynx_cursor * cursor,
pstart += offset;
pbuffer = pstart;
}else{
-   pbuffer++;
+   pbuffer += sizeof(u16);
}
 
}
@@ -189,7 +189,7 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
int i,j,count,pitch,offset;
u8 color, mask;
u16 data;
-   u16 * pbuffer,*pstart;
+   void __iomem * pbuffer,*pstart;
 
/*  in byte*/
pitch = cursor-w  3;
@@ -197,11 +197,11 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
/* in byte  */
count = pitch * cursor-h;
 
-   /* in ushort */
-   offset = cursor-maxW * 2 / 8 / 2;
+   /* in byte */
+   offset = cursor-maxW * 2 / 8;
 
data = 0;
-   pstart = (u16 *)cursor-vstart;
+   pstart = cursor-vstart;
pbuffer = pstart;
 
for(i=0;icount;i++)
@@ -234,7 +234,7 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
data |= ((color  (1j))?1:2)(j*2);
}
 #endif
-   *pbuffer = data;
+   iowrite16(data, pbuffer);
 
/* assume pitch is 1,2,4,8,...*/
if(!(i(pitch-1)))
@@ -244,7 +244,7 @@ void hw_cursor_setData2(struct lynx_cursor * cursor,
pstart += offset;
pbuffer = pstart;
}else{
-   pbuffer++;
+   pbuffer += sizeof(u16);
}
 
}
-- 
2.3.2

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/