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

From: Alex Elder
Date: Mon Mar 27 2023 - 16:34:27 EST


On 3/27/23 3:18 PM, 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"

Looking at this entire function, it seems a great deal of it
has somewhat wide lines. Part of the problem is that it
relies on arche_platform_set_wake_detect_state(), which is
36 characters long all by itself.

In any case, the line that is identified is the widest, of
course, by 10 or more characters. But changing that one
line doesn't substantially improve things.

I'm reluctant to suggest this, because I don't want a lot
of "code churn" patches to follow based on this, but...

One could rename arche_platform_set_wake_detect_state()
to be just set_wake_detect_state(). It's private to
its source file (arche-platform.c) and therefore the
"arche_plaform_" prefix isn't really necessary. And
perhaps the result would be code that is a little more
readable, because its lines aren't so long.

I'd be happy to hear others' thoughts on this.

-Alex




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;
}
}
}
@@ -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;
}
/*