Re: [PATCH] staging: greybus: refactor arche_platform_wd_irq() function

From: Dan Carpenter
Date: Tue Mar 28 2023 - 03:33:44 EST


On Tue, Mar 28, 2023 at 01:18:53AM +0500, Khadija Kamran wrote:
> Refactor function by adding goto statement. This reduces the
> indentation and fixes the issue reported by checkpatch.pl script.
>
> "CHECK: line length of 101 exceeds 100 columns"
>
> Signed-off-by: Khadija Kamran <kamrankhadijadj@xxxxxxxxx>
> ---
> drivers/staging/greybus/arche-platform.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/greybus/arche-platform.c b/drivers/staging/greybus/arche-platform.c
> index fcbd5f71eff2..c7d3b6f7368f 100644
> --- a/drivers/staging/greybus/arche-platform.c
> +++ b/drivers/staging/greybus/arche-platform.c
> @@ -178,11 +178,7 @@ static irqreturn_t arche_platform_wd_irq(int irq, void *devid)
> */
> if (arche_pdata->wake_detect_state !=
> WD_STATE_COLDBOOT_START) {
> - arche_platform_set_wake_detect_state(arche_pdata,
> - WD_STATE_COLDBOOT_TRIG);
> - spin_unlock_irqrestore(&arche_pdata->wake_lock,
> - flags);
> - return IRQ_WAKE_THREAD;
> + goto out;

I don't like this goto.

It suggests that calling arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_COLDBOOT_TRIG);
is a part of a shared exit path when that is not true so it is sort of
lying to the reader and making things harder to understand.

Unlocking is shared. goto unlock is fine. But that doesn't help with
the very long lines. (I am not saying that goto unlock is a worthwhile
patch to send but I would definitely have found it tolerable).

regards,
dan carpenter

> }
> }
> }
> @@ -205,6 +201,11 @@ static irqreturn_t arche_platform_wd_irq(int irq, void *devid)
> spin_unlock_irqrestore(&arche_pdata->wake_lock, flags);
>
> return IRQ_HANDLED;
> +
> +out:
> + arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_COLDBOOT_TRIG);
> + spin_unlock_irqrestore(&arche_pdata->wake_lock, flags);
> + return IRQ_WAKE_THREAD;
> }
>
> /*
> --
> 2.34.1
>