Re: [PATCH 2/9] thunderblot: Don't pass a bitfield to FIELD_GET

Mika Westerberg
2025-12-10T05:56:22Z

$subject has typo: thunderblot -> thunderbolt ;-)

On Tue, Dec 09, 2025 at 10:03:06AM +0000, david.laight.linux@gmail.com wrote:
> From: David Laight <david.laight.linux@gmail.com>
>
> FIELD_GET needs to use __auto_type to get the value of the 'reg'
> parameter, this can't be used with bifields.
>
> FIELD_GET also want to verify the size of 'reg' so can't add zero
> to force the type to int.
>
> So add a zero here.
>
> Signed-off-by: David Laight <david.laight.linux@gmail.com>
> ---
> drivers/thunderbolt/tb.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
> index e96474f17067..7ca2b5a0f01e 100644
> --- a/drivers/thunderbolt/tb.h
> +++ b/drivers/thunderbolt/tb.h
> @@ -1307,7 +1307,7 @@ static inline struct tb_retimer *tb_to_retimer(struct device *dev)
> */
> static inline unsigned int usb4_switch_version(const struct tb_switch *sw)
> {
> - return FIELD_GET(USB4_VERSION_MAJOR_MASK, sw->config.thunderbolt_version);
> + return FIELD_GET(USB4_VERSION_MAJOR_MASK, sw->config.thunderbolt_version + 0);

Can't this use a cast instead? If not then can you also add a comment here
because next someone will send a patch "fixing" the unnecessary addition.

> }
>
> /**
> --
> 2.39.5