[PATCH] m68k: lvalues abuse in mac8390

Cast is not an lvalue

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Al Viro and committed by Linus Torvalds 09cc07a5 0efb7134

+14 -17
+14 -17
drivers/net/mac8390.c
··· 559 /* directly from daynaport.c by Alan Cox */ 560 static void dayna_memcpy_fromcard(struct net_device *dev, void *to, int from, int count) 561 { 562 - volatile unsigned short *ptr; 563 - unsigned short *target=to; 564 from<<=1; /* word, skip overhead */ 565 - ptr=(unsigned short *)(dev->mem_start+from); 566 /* Leading byte? */ 567 if (from&2) { 568 - *((char *)target)++ = *(((char *)ptr++)-1); 569 count--; 570 } 571 while(count>=2) 572 { 573 - *target++=*ptr++; /* Copy and */ 574 - ptr++; /* skip cruft */ 575 count-=2; 576 } 577 /* Trailing byte? */ 578 if(count) 579 - { 580 - /* Big endian */ 581 - unsigned short v=*ptr; 582 - *((char *)target)=v>>8; 583 - } 584 } 585 586 static void dayna_memcpy_tocard(struct net_device *dev, int to, const void *from, int count) 587 { 588 volatile unsigned short *ptr; 589 - const unsigned short *src=from; 590 to<<=1; /* word, skip overhead */ 591 ptr=(unsigned short *)(dev->mem_start+to); 592 /* Leading byte? */ 593 if (to&2) { /* avoid a byte write (stomps on other data) */ 594 - ptr[-1] = (ptr[-1]&0xFF00)|*((unsigned char *)src)++; 595 ptr++; 596 count--; 597 } 598 while(count>=2) 599 { 600 - *ptr++=*src++; /* Copy and */ 601 ptr++; /* skip cruft */ 602 count-=2; 603 } 604 /* Trailing byte? */ 605 if(count) 606 { 607 - /* Big endian */ 608 - unsigned short v=*src; 609 /* card doesn't like byte writes */ 610 - *ptr=(*ptr&0x00FF)|(v&0xFF00); 611 } 612 } 613
··· 559 /* directly from daynaport.c by Alan Cox */ 560 static void dayna_memcpy_fromcard(struct net_device *dev, void *to, int from, int count) 561 { 562 + volatile unsigned char *ptr; 563 + unsigned char *target=to; 564 from<<=1; /* word, skip overhead */ 565 + ptr=(unsigned char *)(dev->mem_start+from); 566 /* Leading byte? */ 567 if (from&2) { 568 + *target++ = ptr[-1]; 569 + ptr += 2; 570 count--; 571 } 572 while(count>=2) 573 { 574 + *(unsigned short *)target = *(unsigned short volatile *)ptr; 575 + ptr += 4; /* skip cruft */ 576 + target += 2; 577 count-=2; 578 } 579 /* Trailing byte? */ 580 if(count) 581 + *target = *ptr; 582 } 583 584 static void dayna_memcpy_tocard(struct net_device *dev, int to, const void *from, int count) 585 { 586 volatile unsigned short *ptr; 587 + const unsigned char *src=from; 588 to<<=1; /* word, skip overhead */ 589 ptr=(unsigned short *)(dev->mem_start+to); 590 /* Leading byte? */ 591 if (to&2) { /* avoid a byte write (stomps on other data) */ 592 + ptr[-1] = (ptr[-1]&0xFF00)|*src++; 593 ptr++; 594 count--; 595 } 596 while(count>=2) 597 { 598 + *ptr++=*(unsigned short *)src; /* Copy and */ 599 ptr++; /* skip cruft */ 600 + src += 2; 601 count-=2; 602 } 603 /* Trailing byte? */ 604 if(count) 605 { 606 /* card doesn't like byte writes */ 607 + *ptr=(*ptr&0x00FF)|(*src << 8); 608 } 609 } 610