[PATCH 1/2] drm/ofdrm: Cast PCI IDs to u32 for comparing
Alexander Stein
alexander.stein at ew.tq-group.com
Thu Oct 27 13:07:25 UTC 2022
Hello Thomas,
Am Donnerstag, 27. Oktober 2022, 13:57:06 CEST schrieb Thomas Zimmermann:
> Properties of 32-bit integers are returned from the OF device tree
> as type __be32. Cast PCI vendor and device IDs from __be32 to u32
> before comparing them to constants. Fixes sparse warnings shown below.
>
> drivers/gpu/drm/tiny/ofdrm.c:237:17: warning: restricted __be32 degrades
> to integer drivers/gpu/drm/tiny/ofdrm.c:238:18: warning: restricted __be32
> degrades to integer drivers/gpu/drm/tiny/ofdrm.c:238:54: warning:
> restricted __be32 degrades to integer
>
> See [1] for the bug report.
>
> Reported-by: kernel test robot <lkp at intel.com>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> Link: https://lore.kernel.org/dri-devel/202210192208.D888I6X7-lkp@intel.com/
> # [1] ---
> drivers/gpu/drm/tiny/ofdrm.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/tiny/ofdrm.c b/drivers/gpu/drm/tiny/ofdrm.c
> index 0e1cc2369afcc..0da8b248ccc6e 100644
> --- a/drivers/gpu/drm/tiny/ofdrm.c
> +++ b/drivers/gpu/drm/tiny/ofdrm.c
> @@ -231,8 +231,11 @@ static u64 display_get_address_of(struct drm_device
> *dev, struct device_node *of return address;
> }
>
> -static bool is_avivo(__be32 vendor, __be32 device)
> +static bool is_avivo(__be32 vendor_id, __be32 device_id)
> {
> + u32 vendor = (__force u32)vendor_id;
> + u32 device = (__force u32)device_id;
I don't have much context, but just from reading this, shouldn't this be
be32_to_cpu() instead?
Best regards,
Alexander
> +
> /* This will match most R5xx */
> return (vendor == PCI_VENDOR_ID_ATI) &&
> ((device >= PCI_VENDOR_ID_ATI_R520 && device < 0x7800) ||
More information about the dri-devel
mailing list