Skip to content
  • Arnd Bergmann's avatar
    infiniband: qplib_fp: fix pointer cast · 5388a508
    Arnd Bergmann authored
    Building for a 32-bit target results in a couple of warnings from casting
    between a 32-bit pointer and a 64-bit integer:
    
    drivers/infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_service_nq':
    drivers/infiniband/hw/bnxt_re/qplib_fp.c:333:23: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
        bnxt_qplib_arm_srq((struct bnxt_qplib_srq *)q_handle,
                           ^
    drivers/infiniband/hw/bnxt_re/qplib_fp.c:336:12: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
                (struct bnxt_qplib_srq *)q_handle,
                ^
    In file included from include/linux/byteorder/little_endian.h:5,
                     from arch/arm/include/uapi/asm/byteorder.h:22,
                     from include/asm-generic/bitops/le.h:6,
                     from arch/arm/include/asm/bitops.h:342,
                     from include/linux/bitops.h:38,
                     from include/linux/kernel.h:11,
                     from include/linux/interrupt.h:6,
                     from drivers/infiniband/hw/bnxt_re/qplib_fp.c:39:
    drivers/infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_create_srq':
    include/uapi/linux/byteorder/little_endian.h:31:43: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
     #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                               ^
    include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
     #define cpu_to_le64 __cpu_to_le64
                         ^~~~~~~~~~~~~
    drivers/infiniband/hw/bnxt_re/qplib_fp.c:569:19: note: in expansion of macro 'cpu_to_le64'
      req.srq_handle = cpu_to_le64(srq);
    
    Using a uintptr_t as an intermediate works on all architectures.
    
    Fixes: 37cb11ac
    
     ("RDMA/bnxt_re: Add SRQ support for Broadcom adapters")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    5388a508