Re: [PATCH] staging: greybus: Fix macro definition

From: Chinmay V S
Date: Sat Dec 03 2016 - 05:49:13 EST


On Sat, Dec 3, 2016 at 3:52 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, Dec 03, 2016 at 03:41:19PM +0530, Chinmay VS wrote:
>> From: ChinmayVS <cvs268@xxxxxxxxx>
>>
>> Macros with multiple statements should be enclosed in a do - while loop
>>
>> Signed-off-by: ChinmayVS <cvs268@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 7882306..39f0a25 100644
>> --- a/drivers/staging/greybus/loopback.c
>> +++ b/drivers/staging/greybus/loopback.c
>> @@ -177,9 +177,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, \
>
> Always build test your changes so you don't get a grumpy maintainer
> yelling at you for not test-building your patches...
>

Thanks. My bad.
Now that i tried and saw it doesn't even build, i see my mistake.
gb_loopback_stats_attrs() is used to define functions from a template.
The macro is not in any function by itself already.

Back to running checkpatch and finding other ERRORs to cleanup in staging.
(will remember to +V before pushing to the mailing list.)