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 <[email protected]>
Signed-off-by: Thomas Zimmermann <[email protected]>
Link: https://lore.kernel.org/dri-devel/[email protected]/ # 
[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;
+
        /* This will match most R5xx */
        return (vendor == PCI_VENDOR_ID_ATI) &&
               ((device >= PCI_VENDOR_ID_ATI_R520 && device < 0x7800) ||
-- 
2.38.0

Reply via email to