In an effort to get a version working with RedHat 7.1, I went into the MLNX_LINUX-2.4-1.0.0-rhel7.0-x86_64-ext and ran the
mlnx_add_kernel_support.sh -m .
script. This failed due to errors:
CC [M] /tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_main.o
In file included from /tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_main.c:31:0:
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h: In function 'knem_dma_async_memcpy_pg_to_pg':
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:312:2: error: implicit declaration of function 'dmaengine_get_unmap_data' [-Werror=implicit-function-declaration]
unmap = dmaengine_get_unmap_data(dev->dev, 2, GFP_NOWAIT);
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:312:8: warning: assignment makes pointer from integer without a cast [enabled by default]
unmap = dmaengine_get_unmap_data(dev->dev, 2, GFP_NOWAIT);
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:316:7: error: dereferencing pointer to incomplete type
unmap->to_cnt = 1;
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:317:7: error: dereferencing pointer to incomplete type
unmap->from_cnt = 1;
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:318:7: error: dereferencing pointer to incomplete type
unmap->addr[0] = dma_map_page(dev->dev, src_pg, src_off, len, DMA_TO_DEVICE);
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:319:7: error: dereferencing pointer to incomplete type
unmap->addr[1] = dma_map_page(dev->dev, dest_pg, dest_off, len, DMA_FROM_DEVICE);
^
/tmp/mlnx_iso.26871/OFED_topdir/BUILD/knem-1.1.1.90mlnx/obj/default/driver/linux/knem_hal.h:320:7: error: dereferencing pointer to incomplete type
etc