[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ef088d6-cec1-9758-cc0-55fb66ca952@inria.fr>
Date: Sat, 5 Apr 2025 04:41:37 -0400 (EDT)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Greg KH <gregkh@...uxfoundation.org>
cc: Erick Karanja <karanja99erick@...il.com>, outreachy@...ts.linux.dev,
philipp.g.hortmann@...il.com, linux-staging@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] staging: rtl8723bs: Initialize local variables at
declaration
On Sat, 5 Apr 2025, Greg KH wrote:
> On Sat, Apr 05, 2025 at 06:14:49AM +0300, Erick Karanja wrote:
> > Optimize variable initialization by integrating the initialization
> > directly into the variable declaration in cases where the initialization
> > is simple and doesn't depend on other variables or complex expressions.
> > This makes the code more concise and readable.
> >
> > Signed-off-by: Erick Karanja <karanja99erick@...il.com>
> > ---
> > .../staging/rtl8723bs/hal/rtl8723bs_xmit.c | 56 ++++++-------------
> > 1 file changed, 16 insertions(+), 40 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > index 5dc1c12fe03e..ebe9562a9606 100644
> > --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > @@ -120,13 +120,10 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
> > */
> > s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
> > {
> > - struct xmit_priv *pxmitpriv;
> > + struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
> > u8 queue_empty, queue_pending;
> > s32 ret;
> >
> > -
> > - pxmitpriv = &padapter->xmitpriv;
> > -
> > if (wait_for_completion_interruptible(&pxmitpriv->xmit_comp)) {
> > netdev_emerg(padapter->pnetdev,
> > "%s: down SdioXmitBufSema fail!\n", __func__);
> > @@ -168,10 +165,10 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
> > */
> > static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv)
> > {
> > - s32 err, ret;
> > + s32 err = 0, ret;
> > u32 k = 0;
> > - struct hw_xmit *hwxmits, *phwxmit;
> > - u8 idx, hwentry;
> > + struct hw_xmit *hwxmits = pxmitpriv->hwxmits, *phwxmit;
> > + u8 idx, hwentry = pxmitpriv->hwxmit_entry;
>
> These lines are NOT more understandable and readable at all, sorry. You
> are mixing pre-initialized variables with not-initialized ones, making
> this harder to read and maintain over time.
>
> Which would you want to come back to in 5 years to try to understand
> what is going on?
>
> Keep it simple please.
This is another deficiency of Coccinelle. It doesn't really see the case
where there are multiple declarations on a single line, since it is
generally more valuable to be able to work on them individually.
I guess the first change above would be ok though.
julia
Powered by blists - more mailing lists