2018-04-08 20:11:33

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH] powerpc/mm/radix: add missing braces for single statement block

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 <[email protected]>
---
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");
+ }
}

#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
--
2.11.0



2018-04-08 21:10:41

by Randy Dunlap

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

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 <[email protected]>
> ---
> 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.

> + }
> }
>
> #if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
>


--
~Randy

2018-04-23 19:35:44

by Mathieu Malaterre

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

On Mon, Apr 23, 2018 at 9:31 PM, Mathieu Malaterre <[email protected]> wrote:
> On Sun, Apr 8, 2018 at 10:34 PM, Randy Dunlap <[email protected]> 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 <[email protected]>
>>> ---
>>> 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.

Right, it seems I cannot read the correct line number for a warning.
An updated patch is coming.

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

2018-04-23 19:35:45

by Mathieu Malaterre

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

On Sun, Apr 8, 2018 at 10:34 PM, Randy Dunlap <[email protected]> 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 <[email protected]>
>> ---
>> 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

2018-04-23 19:38:22

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH v2] powerpc/mm/radix: use do/while(0) trick for single statement block

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]

Suggested-by: Randy Dunlap <[email protected]>
Signed-off-by: Mathieu Malaterre <[email protected]>
---
v2: update macro directly

arch/powerpc/kernel/prom_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 5ae153b97d0a..7edf3aa5bc6d 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -103,7 +103,7 @@ int of_workarounds;
#ifdef DEBUG_PROM
#define prom_debug(x...) prom_printf(x)
#else
-#define prom_debug(x...)
+#define prom_debug(x...) do { } while (0)
#endif


--
2.11.0


2018-04-23 21:15:36

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc/mm/radix: use do/while(0) trick for single statement block

On 04/23/18 12:36, 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]
>
> Suggested-by: Randy Dunlap <[email protected]>
> Signed-off-by: Mathieu Malaterre <[email protected]>

Acked-by: Randy Dunlap <[email protected]>

Thanks.

> ---
> v2: update macro directly
>
> arch/powerpc/kernel/prom_init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
> index 5ae153b97d0a..7edf3aa5bc6d 100644
> --- a/arch/powerpc/kernel/prom_init.c
> +++ b/arch/powerpc/kernel/prom_init.c
> @@ -103,7 +103,7 @@ int of_workarounds;
> #ifdef DEBUG_PROM
> #define prom_debug(x...) prom_printf(x)
> #else
> -#define prom_debug(x...)
> +#define prom_debug(x...) do { } while (0)
> #endif
>
>
>


--
~Randy

2018-05-25 11:44:53

by Michael Ellerman

[permalink] [raw]
Subject: Re: [v2] powerpc/mm/radix: use do/while(0) trick for single statement block

On Mon, 2018-04-23 at 19:36:38 UTC, 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]
>
> Suggested-by: Randy Dunlap <[email protected]>
> Signed-off-by: Mathieu Malaterre <[email protected]>
> Acked-by: Randy Dunlap <[email protected]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/85aa4b98419d74dd5cc914e0893498

cheers