this change is a rewrite of that bitshifted addr copying
logic with for loop, which can easily understandable.

Signed-off-by: Devendra Naga <[email protected]>
---
 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
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to