Re: [PATCH v3 01/16] bitops: Change parity8() return type to bool

From: David Laight
Date: Thu Mar 06 2025 - 15:46:15 EST


On Fri, 7 Mar 2025 00:25:26 +0800
Kuan-Wei Chiu <visitorckw@xxxxxxxxx> wrote:

> Change return type to bool for better clarity. Update the kernel doc
> comment accordingly, including fixing "@value" to "@val" and adjusting
> examples. Also mark the function with __attribute_const__ to allow
> potential compiler optimizations.

If the result type is 'bool' you should just check it.
Not compare against true/false.

David

>
> Co-developed-by: Yu-Chun Lin <eleanor15x@xxxxxxxxx>
> Signed-off-by: Yu-Chun Lin <eleanor15x@xxxxxxxxx>
> Signed-off-by: Kuan-Wei Chiu <visitorckw@xxxxxxxxx>
> ---
> include/linux/bitops.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/bitops.h b/include/linux/bitops.h
> index c1cb53cf2f0f..44e5765b8bec 100644
> --- a/include/linux/bitops.h
> +++ b/include/linux/bitops.h
> @@ -231,26 +231,26 @@ static inline int get_count_order_long(unsigned long l)
>
> /**
> * parity8 - get the parity of an u8 value
> - * @value: the value to be examined
> + * @val: the value to be examined
> *
> * Determine the parity of the u8 argument.
> *
> * Returns:
> - * 0 for even parity, 1 for odd parity
> + * false for even parity, true for odd parity
> *
> * Note: This function informs you about the current parity. Example to bail
> * out when parity is odd:
> *
> - * if (parity8(val) == 1)
> + * if (parity8(val) == true)
> * return -EBADMSG;
> *
> * If you need to calculate a parity bit, you need to draw the conclusion from
> * this result yourself. Example to enforce odd parity, parity bit is bit 7:
> *
> - * if (parity8(val) == 0)
> + * if (parity8(val) == false)
> * val ^= BIT(7);
> */
> -static inline int parity8(u8 val)
> +static inline __attribute_const__ bool parity8(u8 val)
> {
> /*
> * One explanation of this algorithm: