[parisc-linux-cvs] linux-2.6 tausq

Randolph Chung randolph at tausq.org
Sat Jul 10 21:39:21 MDT 2004


> 	arch/parisc/lib: io.c 
> 
> Log message:
> Fix compile warnings

fixes use of cast expressions as lvalue warnings.

Index: arch/parisc/lib/io.c
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/lib/io.c,v
retrieving revision 1.2
diff -u -p -r1.2 io.c
--- arch/parisc/lib/io.c	28 Sep 2003 00:52:27 -0000	1.2
+++ arch/parisc/lib/io.c	11 Jul 2004 03:31:57 -0000
@@ -21,7 +21,7 @@ void __memcpy_toio(unsigned long dest, u
 		goto bytecopy;
 	while (dest & 3) {
 		writeb(*(char *)src, dest++);
-		((char *)src)++;
+		src++;
 		count--;
 	}
 	while (count > 3) {
@@ -33,7 +33,7 @@ void __memcpy_toio(unsigned long dest, u
  bytecopy:
 	while (count--) {
 		writeb(*(char *)src, dest++);
-		((char *)src)++;
+		src++;
 	}
 }
 
@@ -62,17 +62,17 @@ void __memcpy_fromio(unsigned long dest,
 	/* Then check for misaligned start address */
 	if (src & 1) {
 		*(u8 *)dest = readb(src);
-		((u8 *)src)++;
-		((u8 *)dest)++;
+		src++;
+		dest++;
 		count--;
 		if (count < 2) goto bytecopy;
 	}
 
 	if (src & 2) {
 		*(u16 *)dest = __raw_readw(src);
-		((u16 *)src)++;
-		((u16 *)dest)++;
-		count-=2;
+		src += 2;
+		dest += 2;
+		count -= 2;
 	}
 
 	while (count > 3) {
@@ -85,16 +85,16 @@ void __memcpy_fromio(unsigned long dest,
  shortcopy:
 	while (count > 1) {
 		*(u16 *)dest = __raw_readw(src);
-		((u16 *)src)++;
-		((u16 *)dest)++;
-		count-=2;
+		src += 2;
+		dest += 2;
+		count -= 2;
 	}
 
  bytecopy:
 	while (count--) {
 		*(char *)dest = readb(src);
-		((char *)src)++;
-		((char *)dest)++;
+		src++;
+		dest++;
 	}
 }
 
@@ -125,12 +125,16 @@ void __memset_io(unsigned long dest, cha
  */
 void insb (unsigned long port, void *dst, unsigned long count)
 {
-	while (((unsigned long)dst) & 0x3) {
+	unsigned char *p;
+
+	p = (unsigned char *)dst;
+
+	while (((unsigned long)p) & 0x3) {
 		if (!count)
 			return;
 		count--;
-		*(unsigned char *) dst = inb(port);
-		((unsigned char *) dst)++;
+		*p = inb(port);
+		p++;
 	}
 
 	while (count >= 4) {
@@ -140,14 +144,14 @@ void insb (unsigned long port, void *dst
 		w |= inb(port) << 16;
 		w |= inb(port) << 8;
 		w |= inb(port);
-		*(unsigned int *) dst = w;
-		((unsigned int *) dst)++;
+		*(unsigned int *) p = w;
+		p += 4;
 	}
 
 	while (count) {
 		--count;
-		*(unsigned char *) dst = inb(port);
-		((unsigned char *) dst)++;
+		*p = inb(port);
+		p++;
 	}
 }
 
@@ -162,11 +166,14 @@ void insb (unsigned long port, void *dst
 void insw (unsigned long port, void *dst, unsigned long count)
 {
 	unsigned int l = 0, l2;
+	unsigned char *p;
+
+	p = (unsigned char *)dst;
 	
 	if (!count)
 		return;
 	
-	switch (((unsigned long) dst) & 0x3)
+	switch (((unsigned long)p) & 0x3)
 	{
 	 case 0x00:			/* Buffer 32-bit aligned */
 		while (count>=2) {
@@ -174,28 +181,28 @@ void insw (unsigned long port, void *dst
 			count -= 2;
 			l = cpu_to_le16(inw(port)) << 16;
 			l |= cpu_to_le16(inw(port));
-			*(unsigned int *) dst = l;
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = l;
+			p += 4;
 		}
 		if (count) {
-			*(unsigned short *) dst = cpu_to_le16(inw(port));
+			*(unsigned short *)p = cpu_to_le16(inw(port));
 		}
 		break;
 	
 	 case 0x02:			/* Buffer 16-bit aligned */
-		*(unsigned short *) dst = cpu_to_le16(inw(port));
-		((unsigned short *) dst)++;
+		*(unsigned short *)p = cpu_to_le16(inw(port));
+		p += 2;
 		count--;
 		while (count>=2) {
 			
 			count -= 2;
 			l = cpu_to_le16(inw(port)) << 16;
 			l |= cpu_to_le16(inw(port));
-			*(unsigned int *) dst = l;
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = l;
+			p += 4;
 		}
 		if (count) {
-			*(unsigned short *) dst = cpu_to_le16(inw(port));
+			*(unsigned short *)p = cpu_to_le16(inw(port));
 		}
 		break;
 		
@@ -206,16 +213,16 @@ void insw (unsigned long port, void *dst
 		--count;
 		
 		l = cpu_to_le16(inw(port));
-		*(unsigned char *) dst = l >> 8;
-		((unsigned char *) dst)++;
+		*p = l >> 8;
+		p++;
 		while (count--)
 		{
 			l2 = cpu_to_le16(inw(port));
-			*(unsigned short *) dst = (l & 0xff) << 8 | (l2 >> 8);
-			((unsigned short *) dst)++;
+			*(unsigned short *)p = (l & 0xff) << 8 | (l2 >> 8);
+			p += 2;
 			l = l2;
 		}
-		*(unsigned char *) dst = l & 0xff;
+		*p = l & 0xff;
 		break;
 	}
 }
@@ -231,6 +238,9 @@ void insw (unsigned long port, void *dst
 void insl (unsigned long port, void *dst, unsigned long count)
 {
 	unsigned int l = 0, l2;
+	unsigned char *p;
+
+	p = (unsigned char *)dst;
 	
 	if (!count)
 		return;
@@ -240,8 +250,8 @@ void insl (unsigned long port, void *dst
 	 case 0x00:			/* Buffer 32-bit aligned */
 		while (count--)
 		{
-			*(unsigned int *) dst = cpu_to_le32(inl(port));
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = cpu_to_le32(inl(port));
+			p += 4;
 		}
 		break;
 	
@@ -249,51 +259,51 @@ void insl (unsigned long port, void *dst
 		--count;
 		
 		l = cpu_to_le32(inl(port));
-		*(unsigned short *) dst = l >> 16;
-		((unsigned short *) dst)++;
+		*(unsigned short *)p = l >> 16;
+		p += 2;
 		
 		while (count--)
 		{
 			l2 = cpu_to_le32(inl(port));
-			*(unsigned int *) dst = (l & 0xffff) << 16 | (l2 >> 16);
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = (l & 0xffff) << 16 | (l2 >> 16);
+			p += 4;
 			l = l2;
 		}
-		*(unsigned short *) dst = l & 0xffff;
+		*(unsigned short *)p = l & 0xffff;
 		break;
 	 case 0x01:			/* Buffer 8-bit aligned */
 		--count;
 		
 		l = cpu_to_le32(inl(port));
-		*(unsigned char *) dst = l >> 24;
-		((unsigned char *) dst)++;
-		*(unsigned short *) dst = (l >> 8) & 0xffff;
-		((unsigned short *) dst)++;
+		*(unsigned char *)p = l >> 24;
+		p++;
+		*(unsigned short *)p = (l >> 8) & 0xffff;
+		p += 2;
 		while (count--)
 		{
 			l2 = cpu_to_le32(inl(port));
-			*(unsigned int *) dst = (l & 0xff) << 24 | (l2 >> 8);
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = (l & 0xff) << 24 | (l2 >> 8);
+			p += 4;
 			l = l2;
 		}
-		*(unsigned char *) dst = l & 0xff;
+		*p = l & 0xff;
 		break;
 	 case 0x03:			/* Buffer 8-bit aligned */
 		--count;
 		
 		l = cpu_to_le32(inl(port));
-		*(unsigned char *) dst = l >> 24;
-		((unsigned char *) dst)++;
+		*p = l >> 24;
+		p++;
 		while (count--)
 		{
 			l2 = cpu_to_le32(inl(port));
-			*(unsigned int *) dst = (l & 0xffffff) << 8 | l2 >> 24;
-			((unsigned int *) dst)++;
+			*(unsigned int *)p = (l & 0xffffff) << 8 | l2 >> 24;
+			p += 4;
 			l = l2;
 		}
-		*(unsigned short *) dst = (l >> 8) & 0xffff;
-		((unsigned short *) dst)++;
-		*(unsigned char *) dst = l & 0xff;
+		*(unsigned short *)p = (l >> 8) & 0xffff;
+		p += 2;
+		*p = l & 0xff;
 		break;
 	}
 }
@@ -307,10 +317,13 @@ void insl (unsigned long port, void *dst
  */
 void outsb(unsigned long port, const void * src, unsigned long count)
 {
+	const unsigned char *p;
+
+	p = (const unsigned char *)src;
 	while (count) {
 		count--;
-		outb(*(char *)src, port);
-		((char *) src)++;
+		outb(*p, port);
+		p++;
 	}
 }
 
@@ -323,40 +336,43 @@ void outsb(unsigned long port, const voi
 void outsw (unsigned long port, const void *src, unsigned long count)
 {
 	unsigned int l = 0, l2;
+	const unsigned char *p;
+
+	p = (const unsigned char *)src;
 	
 	if (!count)
 		return;
 	
-	switch (((unsigned long) src) & 0x3)
+	switch (((unsigned long)p) & 0x3)
 	{
 	 case 0x00:			/* Buffer 32-bit aligned */
 		while (count>=2) {
 			count -= 2;
-			l = *(unsigned int *) src;
-			((unsigned int *) src)++;
+			l = *(unsigned int *)p;
+			p += 4;
 			outw(le16_to_cpu(l >> 16), port);
 			outw(le16_to_cpu(l & 0xffff), port);
 		}
 		if (count) {
-			outw(le16_to_cpu(*(unsigned short*)src), port);
+			outw(le16_to_cpu(*(unsigned short*)p), port);
 		}
 		break;
 	
 	 case 0x02:			/* Buffer 16-bit aligned */
 		
-		outw(le16_to_cpu(*(unsigned short*)src), port);
-		((unsigned short *) src)++;
+		outw(le16_to_cpu(*(unsigned short*)p), port);
+		p += 2;
 		count--;
 		
 		while (count>=2) {
 			count -= 2;
-			l = *(unsigned int *) src;
-			((unsigned int *) src)++;
+			l = *(unsigned int *)p;
+			p += 4;
 			outw(le16_to_cpu(l >> 16), port);
 			outw(le16_to_cpu(l & 0xffff), port);
 		}
 		if (count) {
-			outw(le16_to_cpu(*(unsigned short*)src), port);
+			outw(le16_to_cpu(*(unsigned short *)p), port);
 		}
 		break;
 		
@@ -364,18 +380,18 @@ void outsw (unsigned long port, const vo
 		/* I don't bother with 32bit transfers
 		 * in this case, 16bit will have to do -- DE */
 		
-		l  = *(unsigned char *) src << 8;
-		((unsigned char *) src)++;
+		l  = *p << 8;
+		p++;
 		count--;
 		while (count)
 		{
 			count--;
-			l2 = *(unsigned short *) src;
-			((unsigned short *) src)++;
+			l2 = *(unsigned short *)p;
+			p += 2;
 			outw(le16_to_cpu(l | l2 >> 8), port);
 		        l = l2 << 8;
 		}
-		l2 = *(unsigned char *) src;
+		l2 = *(unsigned char *)p;
 		outw (le16_to_cpu(l | l2>>8), port);
 		break;
 	
@@ -392,68 +408,73 @@ void outsw (unsigned long port, const vo
 void outsl (unsigned long port, const void *src, unsigned long count)
 {
 	unsigned int l = 0, l2;
+	const unsigned char *p;
+
+	p = (const unsigned char *)src;
 	
 	if (!count)
 		return;
 	
-	switch (((unsigned long) src) & 0x3)
+	switch (((unsigned long)p) & 0x3)
 	{
 	 case 0x00:			/* Buffer 32-bit aligned */
 		while (count--)
 		{
-			outl(le32_to_cpu(*(unsigned int *) src), port);
-			((unsigned int *) src)++;
+			outl(le32_to_cpu(*(unsigned int *)p), port);
+			p += 4;
 		}
 		break;
 	
 	 case 0x02:			/* Buffer 16-bit aligned */
 		--count;
 		
-		l = *(unsigned short *) src;
-		((unsigned short *) src)++;
+		l = *(unsigned short *)p;
+		p += 2;
 		
 		while (count--)
 		{
-			l2 = *(unsigned int *) src;
-			((unsigned int *) src)++;
+			l2 = *(unsigned int *)p;
+			p += 4;
 			outl (le32_to_cpu(l << 16 | l2 >> 16), port);
 			l = l2;
 		}
-		l2 = *(unsigned short *) src;
+		l2 = *(unsigned short *)p;
 		outl (le32_to_cpu(l << 16 | l2), port);
 		break;
 	 case 0x01:			/* Buffer 8-bit aligned */
 		--count;
-		
-		l  = *(unsigned char *) src << 24;
-		((unsigned char *) src)++;
-		l |= *(unsigned short *) src << 8;
-		((unsigned short *) src)++;
+
+		l = *p << 24;
+		p++;
+		l |= *(unsigned short *)p << 8;
+		p += 2;
+
 		while (count--)
 		{
-			l2 = *(unsigned int *) src;
-			((unsigned int *) src)++;
+			l2 = *(unsigned int *)p;
+			p += 4;
 			outl (le32_to_cpu(l | l2 >> 24), port);
 			l = l2 << 8;
 		}
-		l2 = *(unsigned char *) src;
-		      outl (le32_to_cpu(l | l2), port);
+		l2 = *p;
+		outl (le32_to_cpu(l | l2), port);
 		break;
 	 case 0x03:			/* Buffer 8-bit aligned */
 		--count;
 		
-		l  = *(unsigned char *) src << 24;
-		((unsigned char *) src)++;
+		l = *p << 24;
+		p++;
+
 		while (count--)
 		{
-			l2 = *(unsigned int *) src;
-			((unsigned int *) src)++;
+			l2 = *(unsigned int *)p;
+			p += 4;
 			outl (le32_to_cpu(l | l2 >> 8), port);
 			l = l2 << 24;
 		}
-		l2  = *(unsigned short *) src << 16;
-		((unsigned short *) src)++;
-		l2 |= *(unsigned char *) src;
+		l2 = *(unsigned short *)p << 16;
+		p += 2;
+		l2 |= *p;
 		outl (le32_to_cpu(l | l2), port);
 		break;
 	}


More information about the parisc-linux-cvs mailing list