Commit 69455df0 authored by Lang Cheng's avatar Lang Cheng Committed by Jason Gunthorpe

RDMA/hns: Prevent le32 from being implicitly converted to u32

Replace BUILD_BUG_ON_ZERO() with BUILD_BUG_ON() to avoid sparse
complaining "restricted __le32 degrades to integer".

Link: https://lore.kernel.org/r/1617354454-47840-10-git-send-email-liweihang@huawei.comSigned-off-by: default avatarLang Cheng <chenglang@huawei.com>
Signed-off-by: default avatarWeihang Li <liweihang@huawei.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 782832f2
...@@ -48,7 +48,8 @@ ...@@ -48,7 +48,8 @@
#define roce_set_field(origin, mask, shift, val) \ #define roce_set_field(origin, mask, shift, val) \
do { \ do { \
(origin) &= ~cpu_to_le32(mask); \ (origin) &= ~cpu_to_le32(mask); \
(origin) |= cpu_to_le32(((u32)(val) << (u32)(shift)) & (mask)); \ (origin) |= \
cpu_to_le32(((u32)(val) << (u32)(shift)) & (mask)); \
} while (0) } while (0)
#define roce_set_bit(origin, shift, val) \ #define roce_set_bit(origin, shift, val) \
...@@ -59,9 +60,9 @@ ...@@ -59,9 +60,9 @@
#define _hr_reg_enable(ptr, field_type, field_h, field_l) \ #define _hr_reg_enable(ptr, field_type, field_h, field_l) \
({ \ ({ \
const field_type *_ptr = ptr; \ const field_type *_ptr = ptr; \
*((__le32 *)_ptr + (field_h) / 32) |= \ *((__le32 *)_ptr + (field_h) / 32) |= cpu_to_le32( \
cpu_to_le32(BIT((field_l) % 32)) + \ BIT((field_l) % 32) + \
BUILD_BUG_ON_ZERO((field_h) != (field_l)); \ BUILD_BUG_ON_ZERO((field_h) != (field_l))); \
}) })
#define hr_reg_enable(ptr, field) _hr_reg_enable(ptr, field) #define hr_reg_enable(ptr, field) _hr_reg_enable(ptr, field)
...@@ -69,11 +70,9 @@ ...@@ -69,11 +70,9 @@
#define _hr_reg_clear(ptr, field_type, field_h, field_l) \ #define _hr_reg_clear(ptr, field_type, field_h, field_l) \
({ \ ({ \
const field_type *_ptr = ptr; \ const field_type *_ptr = ptr; \
BUILD_BUG_ON(((field_h) / 32) != ((field_l) / 32)); \
*((__le32 *)_ptr + (field_h) / 32) &= \ *((__le32 *)_ptr + (field_h) / 32) &= \
cpu_to_le32( \ ~cpu_to_le32(GENMASK((field_h) % 32, (field_l) % 32)); \
~GENMASK((field_h) % 32, (field_l) % 32)) + \
BUILD_BUG_ON_ZERO(((field_h) / 32) != \
((field_l) / 32)); \
}) })
#define hr_reg_clear(ptr, field) _hr_reg_clear(ptr, field) #define hr_reg_clear(ptr, field) _hr_reg_clear(ptr, field)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment