linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 3/3] staging/rtl8192u: use for loop to assign bit shifted addr
@ 2012-06-19 19:08 Devendra Naga
  2012-06-19 19:19 ` Joe Perches
  0 siblings, 1 reply; 3+ messages in thread
From: Devendra Naga @ 2012-06-19 19:08 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Justin P. Mattock, devel, linux-kernel; +Cc: Devendra Naga

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@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V2 3/3] staging/rtl8192u: use for loop to assign bit shifted addr
  2012-06-19 19:08 [PATCH V2 3/3] staging/rtl8192u: use for loop to assign bit shifted addr Devendra Naga
@ 2012-06-19 19:19 ` Joe Perches
  2012-06-20  6:31   ` devendra.aaru
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Perches @ 2012-06-19 19:19 UTC (permalink / raw)
  To: Devendra Naga; +Cc: Greg Kroah-Hartman, Justin P. Mattock, devel, linux-kernel

On Wed, 2012-06-20 at 00:38 +0530, Devendra Naga wrote:
> 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@gmail.com>
> ---
>  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)));
>  	}

It's also got a bit of code duplication.
Maybe something like:

	if (priv->epromtype == EPROM_93c56) {
		addr_len = 8;
	else
		addr_len = 6;

	test_bit = 1 << (addr_len - 1);
	for (i = 0; i < addr_len; i++) {
		addr_str[i] = addr & test_bit;
		test_bit >>= 1;
	}



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V2 3/3] staging/rtl8192u: use for loop to assign bit shifted addr
  2012-06-19 19:19 ` Joe Perches
@ 2012-06-20  6:31   ` devendra.aaru
  0 siblings, 0 replies; 3+ messages in thread
From: devendra.aaru @ 2012-06-20  6:31 UTC (permalink / raw)
  To: Joe Perches; +Cc: Greg Kroah-Hartman, Justin P. Mattock, devel, linux-kernel

Hi Joe,

On Wed, Jun 20, 2012 at 12:49 AM, Joe Perches <joe@perches.com> wrote:
> It's also got a bit of code duplication.
> Maybe something like:
>
>        if (priv->epromtype == EPROM_93c56) {
>                addr_len = 8;
>        else
>                addr_len = 6;
>
>        test_bit = 1 << (addr_len - 1);
>        for (i = 0; i < addr_len; i++) {
>                addr_str[i] = addr & test_bit;
>                test_bit >>= 1;
>        }
>
Ahhh, true.

V3 sending :-)

Thanks,
Devendra.
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-20  6:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-19 19:08 [PATCH V2 3/3] staging/rtl8192u: use for loop to assign bit shifted addr Devendra Naga
2012-06-19 19:19 ` Joe Perches
2012-06-20  6:31   ` devendra.aaru

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).