public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] staging: vt6655: Compress return logic
@ 2017-02-18 20:20 simran singhal
  2017-02-18 20:42 ` [Outreachy kernel] " Julia Lawall
  2017-02-18 20:51 ` Joe Perches
  0 siblings, 2 replies; 3+ messages in thread
From: simran singhal @ 2017-02-18 20:20 UTC (permalink / raw)
  To: forest; +Cc: gregkh, devel, linux-kernel, outreachy-kernel

Simplify function returns by merging assignment and return into
one command line.
Found with Coccinelle
@@
local idexpression ret;
expression e;
@@

-ret =
+return
     e;
-return ret;

Signed-off-by: simran singhal <singhalsimran0@gmail.com>
---
 drivers/staging/vt6655/card.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c
index e0c9281..b513846 100644
--- a/drivers/staging/vt6655/card.c
+++ b/drivers/staging/vt6655/card.c
@@ -920,7 +920,7 @@ u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2)
 
 	qwTSFOffset = qwTSF1 - qwTSF2;
 
-	return qwTSFOffset;
+	return qwTSF1 - qwTSF2;
 }
 
 /*
-- 
2.7.4

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

* Re: [Outreachy kernel] [PATCH 1/6] staging: vt6655: Compress return logic
  2017-02-18 20:20 [PATCH 1/6] staging: vt6655: Compress return logic simran singhal
@ 2017-02-18 20:42 ` Julia Lawall
  2017-02-18 20:51 ` Joe Perches
  1 sibling, 0 replies; 3+ messages in thread
From: Julia Lawall @ 2017-02-18 20:42 UTC (permalink / raw)
  To: simran singhal; +Cc: forest, gregkh, devel, linux-kernel, outreachy-kernel



On Sun, 19 Feb 2017, simran singhal wrote:

> Simplify function returns by merging assignment and return into
> one command line.
> Found with Coccinelle
> @@
> local idexpression ret;
> expression e;
> @@
>
> -ret =
> +return
>      e;
> -return ret;
>
> Signed-off-by: simran singhal <singhalsimran0@gmail.com>
> ---
>  drivers/staging/vt6655/card.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c
> index e0c9281..b513846 100644
> --- a/drivers/staging/vt6655/card.c
> +++ b/drivers/staging/vt6655/card.c
> @@ -920,7 +920,7 @@ u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2)
>
>  	qwTSFOffset = qwTSF1 - qwTSF2;
>
> -	return qwTSFOffset;
> +	return qwTSF1 - qwTSF2;

It looks like you can completely get rid of the variable qwTSFOffset as
well.

Actually, it seems that you didn't use the patch that Coccinelle gave you,
because that should have removed the assignment also.  By default
Coccinelle prints a patch on standard output.  You can redirect that into
a file, and if you like it, you can apply it to your code, using
patch -p1 < {file}.  Another option is the --in-place argument to spatch.
Then you would want to do git diff afterwards to see what Coccinelle did.

julia


>  }
>
>  /*
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To post to this group, send email to outreachy-kernel@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170218202056.GA3995%40singhal-Inspiron-5558.
> For more options, visit https://groups.google.com/d/optout.
>

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

* Re: [PATCH 1/6] staging: vt6655: Compress return logic
  2017-02-18 20:20 [PATCH 1/6] staging: vt6655: Compress return logic simran singhal
  2017-02-18 20:42 ` [Outreachy kernel] " Julia Lawall
@ 2017-02-18 20:51 ` Joe Perches
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Perches @ 2017-02-18 20:51 UTC (permalink / raw)
  To: simran singhal, forest; +Cc: gregkh, devel, linux-kernel, outreachy-kernel

On Sun, 2017-02-19 at 01:50 +0530, simran singhal wrote:
> Simplify function returns by merging assignment and return into
> one command line.
> Found with Coccinelle
> @@
> local idexpression ret;
> expression e;
> @@
> 
> -ret =
> +return
>      e;
> -return ret;
[]
> diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c
[]
> @@ -920,7 +920,7 @@ u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2)
>  
>  	qwTSFOffset = qwTSF1 - qwTSF2;
>  
> -	return qwTSFOffset;
> +	return qwTSF1 - qwTSF2;
>  }

It's not a problem here but generically, this transformation may
introduce defects when the local idexpression being assigned to
is a smaller type than the return type.  e.g.:

u64 foo(u64 a, u64 b)
{
	u8 bar = a - b;
	return bar;
}

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

end of thread, other threads:[~2017-02-18 20:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-18 20:20 [PATCH 1/6] staging: vt6655: Compress return logic simran singhal
2017-02-18 20:42 ` [Outreachy kernel] " Julia Lawall
2017-02-18 20:51 ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox