diff options
Diffstat (limited to 'drivers/staging/rtl8192u/r8180_93cx6.c')
-rw-r--r-- | drivers/staging/rtl8192u/r8180_93cx6.c | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/drivers/staging/rtl8192u/r8180_93cx6.c b/drivers/staging/rtl8192u/r8180_93cx6.c index 7e49ad8..d219998 100644 --- a/drivers/staging/rtl8192u/r8180_93cx6.c +++ b/drivers/staging/rtl8192u/r8180_93cx6.c @@ -22,13 +22,15 @@ void eprom_cs(struct net_device *dev, short bit) { - if(bit) - write_nic_byte_E(dev, EPROM_CMD, - (1<<EPROM_CS_SHIFT) | \ - read_nic_byte_E(dev, EPROM_CMD)); //enable EPROM + u8 cmdreg; + + read_nic_byte_E(dev, EPROM_CMD, &cmdreg); + if (bit) + /* enable EPROM */ + write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_CS_BIT); else - write_nic_byte_E(dev, EPROM_CMD, read_nic_byte_E(dev, EPROM_CMD)\ - &~(1<<EPROM_CS_SHIFT)); //disable EPROM + /* disable EPROM */ + write_nic_byte_E(dev, EPROM_CMD, cmdreg & ~EPROM_CS_BIT); force_pci_posting(dev); udelay(EPROM_DELAY); @@ -37,12 +39,15 @@ void eprom_cs(struct net_device *dev, short bit) void eprom_ck_cycle(struct net_device *dev) { - write_nic_byte_E(dev, EPROM_CMD, - (1<<EPROM_CK_SHIFT) | read_nic_byte_E(dev,EPROM_CMD)); + u8 cmdreg; + + read_nic_byte_E(dev, EPROM_CMD, &cmdreg); + write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_CK_BIT); force_pci_posting(dev); udelay(EPROM_DELAY); - write_nic_byte_E(dev, EPROM_CMD, - read_nic_byte_E(dev, EPROM_CMD) &~ (1<<EPROM_CK_SHIFT)); + + read_nic_byte_E(dev, EPROM_CMD, &cmdreg); + write_nic_byte_E(dev, EPROM_CMD, cmdreg & ~EPROM_CK_BIT); force_pci_posting(dev); udelay(EPROM_DELAY); } @@ -50,12 +55,13 @@ void eprom_ck_cycle(struct net_device *dev) void eprom_w(struct net_device *dev,short bit) { - if(bit) - write_nic_byte_E(dev, EPROM_CMD, (1<<EPROM_W_SHIFT) | \ - read_nic_byte_E(dev,EPROM_CMD)); + u8 cmdreg; + + read_nic_byte_E(dev, EPROM_CMD, &cmdreg); + if (bit) + write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_W_BIT); else - write_nic_byte_E(dev, EPROM_CMD, read_nic_byte_E(dev,EPROM_CMD)\ - &~(1<<EPROM_W_SHIFT)); + write_nic_byte_E(dev, EPROM_CMD, cmdreg & ~EPROM_W_BIT); force_pci_posting(dev); udelay(EPROM_DELAY); @@ -64,12 +70,14 @@ void eprom_w(struct net_device *dev,short bit) short eprom_r(struct net_device *dev) { - short bit; + u8 bit; - bit=(read_nic_byte_E(dev, EPROM_CMD) & (1<<EPROM_R_SHIFT) ); + read_nic_byte_E(dev, EPROM_CMD, &bit); udelay(EPROM_DELAY); - if(bit) return 1; + if (bit & EPROM_R_BIT) + return 1; + return 0; } |