[PATCH] include: linux/iopoll.h: silence warning when timeout_us contains *
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Jan 10 08:40:38 PST 2023
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 at 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 |
More information about the barebox
mailing list