ewrk3 update for 2.4
PATCH 1/1 ewrk3 update for 2.4
Following patch updates ISA ewrk3 driver for 2.4. Still no SMP support sadly. Though if you're using an ewrk3 card on an SMP machine then you have bigger problems than a non-working driver.
ewrk3.c renamed from ewrk3.c.orig +14 -14
@@ -819,24 +819,24 @@ }outb (page,EWRK3_TQ );/* Start sending pkt */ }else { -writeb ((char ) (TCR_QMODE |TCR_PAD |TCR_IFC ), (char *) buf);/* ctrl byte */ +isa_writeb ((char ) (TCR_QMODE |TCR_PAD |TCR_IFC ), buf);/* ctrl byte */ buf +=1 ; -writeb ((char ) (skb->len &0xff ), (char *) buf);/* length (16 bit xfer) */ +isa_writeb ((char ) (skb->len &0xff ), buf);/* length (16 bit xfer) */ buf +=1 ;if (lp->txc) { -writeb ((char ) (((skb->len >>8 ) &0xff ) |XCT ), (char *) buf); +isa_writeb ((char ) (((skb->len >>8 ) &0xff ) |XCT ), buf); buf +=1 ; -writeb (0x04 , (char *) buf);/* index byte */ +isa_writeb (0x04 , buf);/* index byte */ buf +=1 ; -writeb (0x00 , (char *) (buf + skb->len));/* Write the XCT flag */ +isa_writeb (0x00 , (buf + skb->len));/* Write the XCT flag */ isa_memcpy_toio (buf, skb->data,PRELOAD );/* Write PRELOAD bytes */ outb (page,EWRK3_TQ );/* Start sending pkt */ isa_memcpy_toio (buf +PRELOAD , skb->data +PRELOAD , skb->len -PRELOAD ); -writeb (0xff , (char *) (buf + skb->len));/* Write the XCT flag */ +isa_writeb (0xff , (buf + skb->len));/* Write the XCT flag */ }else { -writeb ((char ) ((skb->len >>8 ) &0xff ), (char *) buf); +isa_writeb ((char ) ((skb->len >>8 ) &0xff ), buf); buf +=1 ; -writeb (0x04 , (char *) buf);/* index byte */ +isa_writeb (0x04 , buf);/* index byte */ buf +=1 ;isa_memcpy_toio (buf, skb->data, skb->len);/* Write data bytes */ outb (page,EWRK3_TQ );/* Start sending pkt */
@@ -968,9 +968,9 @@ pkt_len =inb (EWRK3_DATA ); pkt_len |= ((u_short )inb (EWRK3_DATA ) <<8 ); }else { - rx_status =readb (buf); + rx_status =isa_readb (buf); buf +=1 ; - pkt_len =readw (buf); + pkt_len =isa_readw (buf); buf +=3 ; }
@@ -1204,7 +1204,7 @@if (lp->shmem_length ==IO_ONLY ) {outb (0xff ,EWRK3_DATA ); }else {/* memset didn't work here */ -writew (0xffff , p); +isa_writew (0xffff , (int ) p); p++; i++; }
@@ -1221,8 +1221,8 @@outb (0x00 ,EWRK3_DATA ); } }else { -memset_io (lp->mctbl,0 , (HASH_TABLE_LEN >>3 )); -writeb (0x80 , (char *) (lp->mctbl + (HASH_TABLE_LEN >>4 ) -1 )); +isa_memset_io ((int ) lp->mctbl,0 , (HASH_TABLE_LEN >>3 )); +isa_writeb (0x80 , (int ) (lp->mctbl + (HASH_TABLE_LEN >>4 ) -1 )); }/* Update table */
@@ -1251,7 +1251,7 @@outw ((short ) ((long ) lp->mctbl) + byte,EWRK3_PIR1 );outb (tmp,EWRK3_DATA ); }else { -writeb (readb (lp->mctbl + byte) | bit, lp->mctbl + byte); +isa_writeb (isa_readb ((int )(lp->mctbl + byte)) | bit, (int )(lp->mctbl + byte)); } } }