2017-07-10 02:00:24

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] usb: isp1760: compress return logic into one line

Simplify return logic to avoid unnecessary variable assignment.

This issue was detected using Coccinelle and the following
semantic patch:

@@
local idexpression ret;
expression e;
@@

-ret =
+return
e;
-return ret;

Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/usb/isp1760/isp1760-hcd.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/isp1760/isp1760-hcd.c b/drivers/usb/isp1760/isp1760-hcd.c
index ac31d19..8e59e0c 100644
--- a/drivers/usb/isp1760/isp1760-hcd.c
+++ b/drivers/usb/isp1760/isp1760-hcd.c
@@ -396,7 +396,6 @@ static int handshake(struct usb_hcd *hcd, u32 reg,
/* reset a non-running (STS_HALT == 1) controller */
static int ehci_reset(struct usb_hcd *hcd)
{
- int retval;
struct isp1760_hcd *priv = hcd_to_priv(hcd);

u32 command = reg_read32(hcd->regs, HC_USBCMD);
@@ -405,9 +404,8 @@ static int ehci_reset(struct usb_hcd *hcd)
reg_write32(hcd->regs, HC_USBCMD, command);
hcd->state = HC_STATE_HALT;
priv->next_statechange = jiffies;
- retval = handshake(hcd, HC_USBCMD,
- CMD_RESET, 0, 250 * 1000);
- return retval;
+
+ return handshake(hcd, HC_USBCMD, CMD_RESET, 0, 250 * 1000);
}

static struct isp1760_qh *qh_alloc(gfp_t flags)
--
2.5.0


2017-07-10 07:39:04

by Oliver Neukum

[permalink] [raw]
Subject: Re: [PATCH] usb: isp1760: compress return logic into one line

Am Sonntag, den 09.07.2017, 21:00 -0500 schrieb Gustavo A. R. Silva :
> Simplify return logic to avoid unnecessary variable assignment.
>
> This issue was detected using Coccinelle and the following
> semantic patch:
>

Hi,

I need to ask: Where is the improvement? The compiler does not bother
and for the human reader you do not do anything obvious and you
decreased grepability.

Regards
Oliver

2017-07-10 20:23:05

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] usb: isp1760: compress return logic into one line

Hi Oliver,

Quoting Oliver Neukum <[email protected]>:

> Am Sonntag, den 09.07.2017, 21:00 -0500 schrieb Gustavo A. R. Silva :
>> Simplify return logic to avoid unnecessary variable assignment.
>>
>> This issue was detected using Coccinelle and the following
>> semantic patch:
>>
>
> Hi,
>
> I need to ask: Where is the improvement? The compiler does not bother
> and for the human reader you do not do anything obvious and you
> decreased grepability.
>

The declaration of local variable _retval_ was removed also.
So both, variable declaration and assignment removal are the improvements.

Regarding the greability, I think that depends on the context.

Thanks!
--
Gustavo A. R. Silva




2017-07-11 08:12:54

by Oliver Neukum

[permalink] [raw]
Subject: Re: [PATCH] usb: isp1760: compress return logic into one line

Am Montag, den 10.07.2017, 14:58 -0500 schrieb Gustavo A. R. Silva :
> Hi Oliver,
>
> Quoting Oliver Neukum <[email protected]>:
>
> >
> > Am Sonntag, den 09.07.2017, 21:00 -0500 schrieb Gustavo A. R. Silva :
> > >
> > > Simplify return logic to avoid unnecessary variable assignment.
> > >
> > > This issue was detected using Coccinelle and the following
> > > semantic patch:
> > >
> >
> > Hi,
> >
> > I need to ask: Where is the improvement? The compiler does not bother
> > and for the human reader you do not do anything obvious and you
> > decreased grepability.
> >
>
> The declaration of local variable _retval_ was removed also.
> So both, variable declaration and assignment removal are the improvements.

Yeah, but a variable called "retval" has an extremely clear function.
Simplifying code is an improvement. Making it clearer is an
improvement.
I am sorry but the proposed change is almost like removing blank lines
to make it more compact

> Regarding the greability, I think that depends on the context.

"retval" has a clear function and is unique.

Regards
Oliver