diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/hplance.c | 2 | ||||
-rw-r--r-- | drivers/net/mac8390.c | 31 | ||||
-rw-r--r-- | drivers/net/sun3lance.c | 2 |
3 files changed, 16 insertions, 19 deletions
diff --git a/drivers/net/hplance.c b/drivers/net/hplance.c index 08703d6f934c..d8410634bcaf 100644 --- a/drivers/net/hplance.c +++ b/drivers/net/hplance.c @@ -150,7 +150,7 @@ static void __init hplance_init(struct net_device *dev, struct dio_dev *d) lp->lance.name = (char*)d->name; /* discards const, shut up gcc */ lp->lance.base = va; lp->lance.init_block = (struct lance_init_block *)(va + HPLANCE_MEMOFF); /* CPU addr */ - lp->lance.lance_init_block = 0; /* LANCE addr of same RAM */ + lp->lance.lance_init_block = NULL; /* LANCE addr of same RAM */ lp->lance.busmaster_regval = LE_C3_BSWP; /* we're bigendian */ lp->lance.irq = d->ipl; lp->lance.writerap = hplance_writerap; diff --git a/drivers/net/mac8390.c b/drivers/net/mac8390.c index d8c99f038fa0..06cb460361a8 100644 --- a/drivers/net/mac8390.c +++ b/drivers/net/mac8390.c @@ -559,55 +559,52 @@ static void mac8390_no_reset(struct net_device *dev) /* directly from daynaport.c by Alan Cox */ static void dayna_memcpy_fromcard(struct net_device *dev, void *to, int from, int count) { - volatile unsigned short *ptr; - unsigned short *target=to; + volatile unsigned char *ptr; + unsigned char *target=to; from<<=1; /* word, skip overhead */ - ptr=(unsigned short *)(dev->mem_start+from); + ptr=(unsigned char *)(dev->mem_start+from); /* Leading byte? */ if (from&2) { - *((char *)target)++ = *(((char *)ptr++)-1); + *target++ = ptr[-1]; + ptr += 2; count--; } while(count>=2) { - *target++=*ptr++; /* Copy and */ - ptr++; /* skip cruft */ + *(unsigned short *)target = *(unsigned short volatile *)ptr; + ptr += 4; /* skip cruft */ + target += 2; count-=2; } /* Trailing byte? */ if(count) - { - /* Big endian */ - unsigned short v=*ptr; - *((char *)target)=v>>8; - } + *target = *ptr; } static void dayna_memcpy_tocard(struct net_device *dev, int to, const void *from, int count) { volatile unsigned short *ptr; - const unsigned short *src=from; + const unsigned char *src=from; to<<=1; /* word, skip overhead */ ptr=(unsigned short *)(dev->mem_start+to); /* Leading byte? */ if (to&2) { /* avoid a byte write (stomps on other data) */ - ptr[-1] = (ptr[-1]&0xFF00)|*((unsigned char *)src)++; + ptr[-1] = (ptr[-1]&0xFF00)|*src++; ptr++; count--; } while(count>=2) { - *ptr++=*src++; /* Copy and */ + *ptr++=*(unsigned short *)src; /* Copy and */ ptr++; /* skip cruft */ + src += 2; count-=2; } /* Trailing byte? */ if(count) { - /* Big endian */ - unsigned short v=*src; /* card doesn't like byte writes */ - *ptr=(*ptr&0x00FF)|(v&0xFF00); + *ptr=(*ptr&0x00FF)|(*src << 8); } } diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c index 5c8fcd40ef4d..01bdb2334058 100644 --- a/drivers/net/sun3lance.c +++ b/drivers/net/sun3lance.c @@ -389,7 +389,7 @@ static int __init lance_probe( struct net_device *dev) dev->stop = &lance_close; dev->get_stats = &lance_get_stats; dev->set_multicast_list = &set_multicast_list; - dev->set_mac_address = 0; + dev->set_mac_address = NULL; // KLUDGE -- REMOVE ME set_bit(__LINK_STATE_PRESENT, &dev->state); |