On Sun, Oct 16, 2022 at 04:51:09PM +0200, Julia Lawall wrote: > > > On Sun, 16 Oct 2022, Deepak R Varma wrote: > > > Include multiple statements of macro definition inside do-while{0} loop > > to avoid possible partial program execution. Issue reported by > > checkpatch script: > > > > ERROR: Macros with multiple statements should be enclosed in a do - while loop > > I don't think this change will compile. See if you can figure out why > not. After trying a direct compile of the loopback.c file, it did not compile. The kernel build ran did not compile the loopback.c file due to missing configuration. About this change, the macro expands to function declarations at compile time and those can't be enclosed in do/while loop as these are not logical execution instructions. So it won't compile. I initially looked for "greybus driver" under the "main menu > drivers > staging drivers" path, but not find any configurations for the driver. While retuning back, I found "greybus support" config under "menu-menu > device drivers" itself. I set it to "M" and build the module. I did not realise that setting this parameter to "M" actually results in adding several configurations under "staging drivers" path. I now understand that. Thank you for your help. I will look for another sensible change and send my new first patch. ./drv > > julia > > > > > Signed-off-by: Deepak R Varma <drv@xxxxxxxxx> > > --- > > drivers/staging/greybus/loopback.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c > > index 1a61fce98056..37214cb43937 100644 > > --- a/drivers/staging/greybus/loopback.c > > +++ b/drivers/staging/greybus/loopback.c > > @@ -163,9 +163,11 @@ static ssize_t name##_avg_show(struct device *dev, \ > > static DEVICE_ATTR_RO(name##_avg) > > > > #define gb_loopback_stats_attrs(field) \ > > +do { \ > > gb_loopback_ro_stats_attr(field, min, u); \ > > gb_loopback_ro_stats_attr(field, max, u); \ > > - gb_loopback_ro_avg_attr(field) > > + gb_loopback_ro_avg_attr(field); \ > > +} while (0) > > > > #define gb_loopback_attr(field, type) \ > > static ssize_t field##_show(struct device *dev, \ > > -- > > 2.30.2 > > > > > > > > > >