aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorGravatar Jakub Kicinski <kuba@kernel.org> 2020-12-12 15:44:26 -0800
committerGravatar Jakub Kicinski <kuba@kernel.org> 2020-12-14 19:18:11 -0800
commit8163962aadde4ab23ec794f30bf4972325bd6439 (patch)
tree9be8afcf69717db3fdfd3211f371e13863bdf45e /drivers/net
parentMerge tag 'linux-can-next-for-5.11-20201214' of git://git.kernel.org/pub/scm/... (diff)
downloadlinux-8163962aadde4ab23ec794f30bf4972325bd6439.tar.gz
linux-8163962aadde4ab23ec794f30bf4972325bd6439.tar.bz2
linux-8163962aadde4ab23ec794f30bf4972325bd6439.zip
net: vxget: clean up sparse warnings
This code is copying strings in 64 bit quantities, the device returns them in big endian. As long as we store in big endian IOW endian on both sides matches, we're good, so swap to_be64, not from be64. This fixes ~60 sparse warnings. Link: https://lore.kernel.org/r/20201212234426.177015-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/neterion/vxge/vxge-config.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-config.c b/drivers/net/ethernet/neterion/vxge/vxge-config.c
index da48dd85770c..5162b938a1ac 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-config.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-config.c
@@ -871,11 +871,11 @@ static enum vxge_hw_status
__vxge_hw_vpath_card_info_get(struct __vxge_hw_virtualpath *vpath,
struct vxge_hw_device_hw_info *hw_info)
{
+ __be64 *serial_number = (void *)hw_info->serial_number;
+ __be64 *product_desc = (void *)hw_info->product_desc;
+ __be64 *part_number = (void *)hw_info->part_number;
enum vxge_hw_status status;
u64 data0, data1 = 0, steer_ctrl = 0;
- u8 *serial_number = hw_info->serial_number;
- u8 *part_number = hw_info->part_number;
- u8 *product_desc = hw_info->product_desc;
u32 i, j = 0;
data0 = VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_SERIAL_NUMBER;
@@ -887,8 +887,8 @@ __vxge_hw_vpath_card_info_get(struct __vxge_hw_virtualpath *vpath,
if (status != VXGE_HW_OK)
return status;
- ((u64 *)serial_number)[0] = be64_to_cpu(data0);
- ((u64 *)serial_number)[1] = be64_to_cpu(data1);
+ serial_number[0] = cpu_to_be64(data0);
+ serial_number[1] = cpu_to_be64(data1);
data0 = VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_PART_NUMBER;
data1 = steer_ctrl = 0;
@@ -900,8 +900,8 @@ __vxge_hw_vpath_card_info_get(struct __vxge_hw_virtualpath *vpath,
if (status != VXGE_HW_OK)
return status;
- ((u64 *)part_number)[0] = be64_to_cpu(data0);
- ((u64 *)part_number)[1] = be64_to_cpu(data1);
+ part_number[0] = cpu_to_be64(data0);
+ part_number[1] = cpu_to_be64(data1);
for (i = VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_0;
i <= VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_3; i++) {
@@ -915,8 +915,8 @@ __vxge_hw_vpath_card_info_get(struct __vxge_hw_virtualpath *vpath,
if (status != VXGE_HW_OK)
return status;
- ((u64 *)product_desc)[j++] = be64_to_cpu(data0);
- ((u64 *)product_desc)[j++] = be64_to_cpu(data1);
+ product_desc[j++] = cpu_to_be64(data0);
+ product_desc[j++] = cpu_to_be64(data1);
}
return status;