Re: [PATCH] powerpc/mm/radix: add missing braces for single statement block

From: Mathieu Malaterre
Date: Mon Apr 23 2018 - 15:32:29 EST


On Sun, Apr 8, 2018 at 10:34 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> On 04/08/2018 12:44 PM, Mathieu Malaterre wrote:
>> In commit 7a22d6321c3d ("powerpc/mm/radix: Update command line parsing for
>> disable_radix") an `if` statement was added for a possible empty body
>> (prom_debug).
>>
>> Fix the following warning, treated as error with W=1:
>>
>> arch/powerpc/kernel/prom_init.c:656:46: error: suggest braces around empty body in an âifâ statement [-Werror=empty-body]
>>
>> Signed-off-by: Mathieu Malaterre <malat@xxxxxxxxxx>
>> ---
>> arch/powerpc/kernel/prom_init.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
>> index 5ae153b97d0a..f0e802495530 100644
>> --- a/arch/powerpc/kernel/prom_init.c
>> +++ b/arch/powerpc/kernel/prom_init.c
>> @@ -652,8 +652,9 @@ static void __init early_cmdline_parse(void)
>> } else
>> prom_radix_disable = true;
>> }
>> - if (prom_radix_disable)
>> + if (prom_radix_disable) {
>> prom_debug("Radix disabled from cmdline\n");
>
> Looks like the macro for #prom_debug() should be fixed instead.

Well if I try instead:

@@ -101,9 +101,9 @@ int of_workarounds;
} while (0)

#ifdef DEBUG_PROM
-#define prom_debug(x...) prom_printf(x)
+#define prom_debug(x...) do { prom_printf(x); } while (0)
#else
-#define prom_debug(x...)
+#define prom_debug(x...) do { } while (0)
#endif


the checkpatch script returns:

WARNING: Single statement macros should not use a do {} while (0) loop
#33: FILE: arch/powerpc/kernel/prom_init.c:104:
+#define prom_debug(x...) do { prom_printf(x); } while (0)


So I suspect we cannot do much better than my original patch unfortunately.

>> + }
>> }
>>
>> #if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
>>
>
>
> --
> ~Randy