* [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains *
@ 2023-01-09 16:00 Ahmad Fatoum
2023-01-09 18:02 ` [PATCH] fixup! " Ahmad Fatoum
2023-01-10 14:41 ` [PATCH] " Sascha Hauer
0 siblings, 2 replies; 6+ messages in thread
From: Ahmad Fatoum @ 2023-01-09 16:00 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
We evaluate timeout_us for truthiness to determine whether we are
entering an infinite poll loop. When timeout_us contains a
multiplication, GCC will warn about it and suggest replacing the *
with &&. Silence this warning by comparing directly against 0.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
include/linux/iopoll.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
index 8bf912e173b3..b8c55583f97f 100644
--- a/include/linux/iopoll.h
+++ b/include/linux/iopoll.h
@@ -32,13 +32,13 @@
#define read_poll_timeout(op, val, cond, timeout_us, args...) \
({ \
uint64_t start; \
- if (!IN_PBL && timeout_us) \
+ if (!IN_PBL && timeout_us != 0) \
start = get_time_ns(); \
for (;;) { \
(val) = op(args); \
if (cond) \
break; \
- if (!IN_PBL && timeout_us && \
+ if (!IN_PBL && timeout_us != 0 && \
is_timeout(start, ((timeout_us) * USECOND))) { \
(val) = op(args); \
break; \
--
2.30.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] fixup! include: linux/iopoll.h: silence warning when timeout_us contains *
2023-01-09 16:00 [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains * Ahmad Fatoum
@ 2023-01-09 18:02 ` Ahmad Fatoum
2023-01-10 14:42 ` Sascha Hauer
2023-01-10 14:41 ` [PATCH] " Sascha Hauer
1 sibling, 1 reply; 6+ messages in thread
From: Ahmad Fatoum @ 2023-01-09 18:02 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
While at it, surround the macro argument with parenthesis.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
include/linux/iopoll.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
index b8c55583f97f..96b17dee48c9 100644
--- a/include/linux/iopoll.h
+++ b/include/linux/iopoll.h
@@ -32,13 +32,13 @@
#define read_poll_timeout(op, val, cond, timeout_us, args...) \
({ \
uint64_t start; \
- if (!IN_PBL && timeout_us != 0) \
+ if (!IN_PBL && (timeout_us) != 0) \
start = get_time_ns(); \
for (;;) { \
(val) = op(args); \
if (cond) \
break; \
- if (!IN_PBL && timeout_us != 0 && \
+ if (!IN_PBL && (timeout_us) != 0 && \
is_timeout(start, ((timeout_us) * USECOND))) { \
(val) = op(args); \
break; \
--
2.30.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains *
2023-01-09 16:00 [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains * Ahmad Fatoum
2023-01-09 18:02 ` [PATCH] fixup! " Ahmad Fatoum
@ 2023-01-10 14:41 ` Sascha Hauer
2023-01-10 16:40 ` Ahmad Fatoum
1 sibling, 1 reply; 6+ messages in thread
From: Sascha Hauer @ 2023-01-10 14:41 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: barebox
On Mon, Jan 09, 2023 at 05:00:57PM +0100, Ahmad Fatoum wrote:
> We evaluate timeout_us for truthiness to determine whether we are
> entering an infinite poll loop. When timeout_us contains a
> multiplication, GCC will warn about it and suggest replacing the *
> with &&. Silence this warning by comparing directly against 0.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
> include/linux/iopoll.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
> index 8bf912e173b3..b8c55583f97f 100644
> --- a/include/linux/iopoll.h
> +++ b/include/linux/iopoll.h
> @@ -32,13 +32,13 @@
> #define read_poll_timeout(op, val, cond, timeout_us, args...) \
> ({ \
> uint64_t start; \
> - if (!IN_PBL && timeout_us) \
> + if (!IN_PBL && timeout_us != 0) \
You should rather put timeout_us in brackets.
Sascha
> start = get_time_ns(); \
> for (;;) { \
> (val) = op(args); \
> if (cond) \
> break; \
> - if (!IN_PBL && timeout_us && \
> + if (!IN_PBL && timeout_us != 0 && \
> is_timeout(start, ((timeout_us) * USECOND))) { \
> (val) = op(args); \
> break; \
> --
> 2.30.2
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] fixup! include: linux/iopoll.h: silence warning when timeout_us contains *
2023-01-09 18:02 ` [PATCH] fixup! " Ahmad Fatoum
@ 2023-01-10 14:42 ` Sascha Hauer
0 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2023-01-10 14:42 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: barebox
On Mon, Jan 09, 2023 at 07:02:23PM +0100, Ahmad Fatoum wrote:
> While at it, surround the macro argument with parenthesis.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
> include/linux/iopoll.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
> index b8c55583f97f..96b17dee48c9 100644
> --- a/include/linux/iopoll.h
> +++ b/include/linux/iopoll.h
> @@ -32,13 +32,13 @@
> #define read_poll_timeout(op, val, cond, timeout_us, args...) \
> ({ \
> uint64_t start; \
> - if (!IN_PBL && timeout_us != 0) \
> + if (!IN_PBL && (timeout_us) != 0) \
Ok, you came to the same conclusion. This makes the != 0 comparison
unnecessary.
Sascha
> start = get_time_ns(); \
> for (;;) { \
> (val) = op(args); \
> if (cond) \
> break; \
> - if (!IN_PBL && timeout_us != 0 && \
> + if (!IN_PBL && (timeout_us) != 0 && \
> is_timeout(start, ((timeout_us) * USECOND))) { \
> (val) = op(args); \
> break; \
> --
> 2.30.2
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains *
2023-01-10 14:41 ` [PATCH] " Sascha Hauer
@ 2023-01-10 16:40 ` Ahmad Fatoum
2023-01-11 7:39 ` Sascha Hauer
0 siblings, 1 reply; 6+ messages in thread
From: Ahmad Fatoum @ 2023-01-10 16:40 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
Hello Sascha,
On 10.01.23 15:41, Sascha Hauer wrote:
> On Mon, Jan 09, 2023 at 05:00:57PM +0100, Ahmad Fatoum wrote:
>> We evaluate timeout_us for truthiness to determine whether we are
>> entering an infinite poll loop. When timeout_us contains a
>> multiplication, GCC will warn about it and suggest replacing the *
>> with &&. Silence this warning by comparing directly against 0.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>> include/linux/iopoll.h | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
>> index 8bf912e173b3..b8c55583f97f 100644
>> --- a/include/linux/iopoll.h
>> +++ b/include/linux/iopoll.h
>> @@ -32,13 +32,13 @@
>> #define read_poll_timeout(op, val, cond, timeout_us, args...) \
>> ({ \
>> uint64_t start; \
>> - if (!IN_PBL && timeout_us) \
>> + if (!IN_PBL && timeout_us != 0) \
>
> You should rather put timeout_us in brackets.
Doesn't help:
drivers/mtd/nand/atmel/nand-controller.c:279:51:
warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
279 | timeout_ms * 1000);
include/linux/iopoll.h:35:25: note: in definition of macro 'read_poll_timeout'
35 | if (!IN_PBL && (timeout_us)) \
| ^~~~~~~~~~
Ok to apply?
Cheers,
Ahmad
>
> Sascha
>
>> start = get_time_ns(); \
>> for (;;) { \
>> (val) = op(args); \
>> if (cond) \
>> break; \
>> - if (!IN_PBL && timeout_us && \
>> + if (!IN_PBL && timeout_us != 0 && \
>> is_timeout(start, ((timeout_us) * USECOND))) { \
>> (val) = op(args); \
>> break; \
>> --
>> 2.30.2
>>
>>
>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains *
2023-01-10 16:40 ` Ahmad Fatoum
@ 2023-01-11 7:39 ` Sascha Hauer
0 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2023-01-11 7:39 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: barebox
On Tue, Jan 10, 2023 at 05:40:38PM +0100, Ahmad Fatoum wrote:
> Hello Sascha,
>
> On 10.01.23 15:41, Sascha Hauer wrote:
> > On Mon, Jan 09, 2023 at 05:00:57PM +0100, Ahmad Fatoum wrote:
> >> We evaluate timeout_us for truthiness to determine whether we are
> >> entering an infinite poll loop. When timeout_us contains a
> >> multiplication, GCC will warn about it and suggest replacing the *
> >> with &&. Silence this warning by comparing directly against 0.
> >>
> >> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> >> ---
> >> include/linux/iopoll.h | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
> >> index 8bf912e173b3..b8c55583f97f 100644
> >> --- a/include/linux/iopoll.h
> >> +++ b/include/linux/iopoll.h
> >> @@ -32,13 +32,13 @@
> >> #define read_poll_timeout(op, val, cond, timeout_us, args...) \
> >> ({ \
> >> uint64_t start; \
> >> - if (!IN_PBL && timeout_us) \
> >> + if (!IN_PBL && timeout_us != 0) \
> >
> > You should rather put timeout_us in brackets.
>
> Doesn't help:
>
> drivers/mtd/nand/atmel/nand-controller.c:279:51:
> warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
> 279 | timeout_ms * 1000);
> include/linux/iopoll.h:35:25: note: in definition of macro 'read_poll_timeout'
> 35 | if (!IN_PBL && (timeout_us)) \
> | ^~~~~~~~~~
>
> Ok to apply?
Yes, ok. Could you resend? git b4 seems to get confused by this series.
It tries to apply the fixup first.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-11 7:40 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-09 16:00 [PATCH] include: linux/iopoll.h: silence warning when timeout_us contains * Ahmad Fatoum
2023-01-09 18:02 ` [PATCH] fixup! " Ahmad Fatoum
2023-01-10 14:42 ` Sascha Hauer
2023-01-10 14:41 ` [PATCH] " Sascha Hauer
2023-01-10 16:40 ` Ahmad Fatoum
2023-01-11 7:39 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox