Re: [PATCH 2/2] staging: rtl8723bs: Initialize local variables at declaration
Julia Lawall <[email protected]> Sat, 5 Apr 2025 04:41:37 -0400 (EDT)
| Newsgroups | dev.linux.lists.outreachy,dev.linux.lists.linux-staging,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> > > --- > > .../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