Re: [PATCH v2 09/20] staging: rtl8723bs: put parentheses on macros with complex values in include/rtw_debug.h

From: Greg KH
Date: Sun Mar 28 2021 - 10:59:25 EST


On Sun, Mar 28, 2021 at 04:43:24PM +0200, Fabio Aiuto wrote:
> On Sun, Mar 28, 2021 at 02:08:41PM +0200, Greg KH wrote:
> > On Sat, Mar 27, 2021 at 03:24:08PM +0100, Fabio Aiuto wrote:
> > > fix the following checkpatch warning:
> > >
> > > ERROR: Macros starting with if should be enclosed by a
> > > do - while loop to avoid possible if/else logic defects
> > > + #define RT_PRINT_DATA(_Comp, _Level,
> > > _TitleString, _HexData, _HexDataLen) \
> > >
> > > Signed-off-by: Fabio Aiuto <fabioaiuto83@xxxxxxxxx>
> > > ---
> > > drivers/staging/rtl8723bs/include/rtw_debug.h | 28 ++++++++++---------
> > > 1 file changed, 15 insertions(+), 13 deletions(-)
> > >
> > > diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > > index d1c557818305..b00f8a6c4312 100644
> > > --- a/drivers/staging/rtl8723bs/include/rtw_debug.h
> > > +++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
> > > @@ -236,19 +236,21 @@
> > > #if defined(_dbgdump)
> > > #undef RT_PRINT_DATA
> > > #define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \
> > > - if (((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \
> > > - { \
> > > - int __i; \
> > > - u8 *ptr = (u8 *)_HexData; \
> > > - _dbgdump("%s", DRIVER_PREFIX); \
> > > - _dbgdump(_TitleString); \
> > > - for (__i = 0; __i < (int)_HexDataLen; __i++) \
> > > - { \
> > > - _dbgdump("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \
> > > - if (((__i + 1) % 16) == 0) _dbgdump("\n"); \
> > > - } \
> > > - _dbgdump("\n"); \
> > > - }
> >
> > This whole nightmare needs to just be deleted and any callers of it need
> > to use the in-kernel functions for this instead.
> >
> > thanks,
> >
> > greg k-h
>
> ok, will we get rid of the private debug level and components tracking as well?

Please do.

> Maybe encapsulating the built-in proposed by Joe, keeping the macro alive?

No, do not keep it alive. Individual debugging/trace/info macros for
drivers do not make sense at all. We have kernel-wide infrastructure
for this, it is bold for an individual driver to somehow think that they
need a "custom" solution for this instead.

Just use the normal apis, that is what they are there for.

thanks,

greg k-h