this change is a rewrite of that bitshifted addr copying logic with for loop, which can easily understandable. Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> --- drivers/staging/rtl8192u/r8180_93cx6.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192u/r8180_93cx6.c b/drivers/staging/rtl8192u/r8180_93cx6.c index a72bbd4..815b0f3 100644 --- a/drivers/staging/rtl8192u/r8180_93cx6.c +++ b/drivers/staging/rtl8192u/r8180_93cx6.c @@ -102,25 +102,16 @@ u32 eprom_read(struct net_device *dev, u32 addr) force_pci_posting(dev); udelay(EPROM_DELAY); - if (priv->epromtype==EPROM_93c56){ - addr_str[7]=addr & 1; - addr_str[6]=addr & (1<<1); - addr_str[5]=addr & (1<<2); - addr_str[4]=addr & (1<<3); - addr_str[3]=addr & (1<<4); - addr_str[2]=addr & (1<<5); - addr_str[1]=addr & (1<<6); - addr_str[0]=addr & (1<<7); - addr_len=8; - }else{ - addr_str[5]=addr & 1; - addr_str[4]=addr & (1<<1); - addr_str[3]=addr & (1<<2); - addr_str[2]=addr & (1<<3); - addr_str[1]=addr & (1<<4); - addr_str[0]=addr & (1<<5); - addr_len=6; + if (priv->epromtype == EPROM_93c56) { + addr_len = 8; + for (i = 0; i < addr_len; i++) + addr_str[i] = addr & (1 << (addr_len - (i + 1))); + } else { + addr_len = 6; + for (i = 0; i < addr_len; i++) + addr_str[i] = addr & (1 << (addr_len - (i + 1))); } + eprom_cs(dev, 1); eprom_ck_cycle(dev); eprom_send_bits_string(dev, read_cmd, 3); -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel