Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Note: After applying the patch, execute the compat/autogen.sh first before doing dkms build.
- The change in config makes it compatible to the build flow used in recent kernel version.
- The change in the source is to fit the kernel API change introduced in recent kernel version.
- diff --git a/compat/config/build-linux.m4 b/compat/config/build-linux.m4
- index 8639a38..a6b3926 100644
- --- a/compat/config/build-linux.m4
- +++ b/compat/config/build-linux.m4
- @@ -33,42 +33,9 @@ LB_LINUX_CONFIG_VALUE([XEN_INTERFACE_VERSION],[XEN_INCLUDES="$XEN_INCLUDES -D__X
- AC_DEFUN([LB_LINUX_VERSION],[
- KMODEXT=".ko"
- AC_SUBST(KMODEXT)
- +]
- +)
- -makerule="$PWD/build"
- -AC_CACHE_CHECK([for external module build target], lb_cv_module_target,
- -[
- - lb_cv_module_target=""
- - MODULE_TARGET="SUBDIRS"
- - rm -f build/conftest.i
- - LB_LINUX_TRY_MAKE([], [],
- - [$makerule MLNX_KERNEL_TEST=conftest.i],
- - [test -s build/conftest.i],
- - [lb_cv_module_target="SUBDIRS"],[
- - MODULE_TARGET="M"
- - makerule="$PWD/build/"
- - LB_LINUX_TRY_MAKE([], [],
- - [$makerule MLNX_KERNEL_TEST=conftest.i],
- - [test -s build/conftest.i],
- - [lb_cv_module_target="M54"], [
- - MODULE_TARGET="M"
- - makerule="_module_$PWD/build"
- - LB_LINUX_TRY_MAKE([], [],
- - [$makerule MLNX_KERNEL_TEST=conftest.i],
- - [test -s build/conftest.i],
- - [lb_cv_module_target="M"], [
- - AC_MSG_ERROR([kernel module make failed; check config.log for details])
- - ])])])
- -])
- -AS_IF([test -z "$lb_cv_module_target"],
- - [AC_MSG_ERROR([unknown external module build target])],
- -[test "x$lb_cv_module_target" = "xM54"],
- - [makerule="$PWD/build"
- - lb_cv_module_target="M"],
- -[test "x$lb_cv_module_target" = "xM"],
- - [makerule="_module_$PWD/build"])
- -MODULE_TARGET=$lb_cv_module_target
- -AC_SUBST(MODULE_TARGET)
- -])
- #
- # LB_LINUX_RELEASE
- @@ -76,31 +43,8 @@ AC_SUBST(MODULE_TARGET)
- # get the release version of linux
- #
- AC_DEFUN([LB_LINUX_RELEASE],
- -[LINUXRELEASE=
- -rm -f build/conftest.i
- -AC_MSG_CHECKING([for Linux release])
- -if test -s $LINUX_OBJ/include/$AUTOCONF_HDIR/utsrelease.h ; then
- - LINUXRELEASEHEADER=$AUTOCONF_HDIR/utsrelease.h
- -else
- - LINUXRELEASEHEADER=linux/version.h
- -fi
- -LB_LINUX_TRY_MAKE([
- - #include <$LINUXRELEASEHEADER>
- -],[
- - char *LINUXRELEASE;
- - LINUXRELEASE=UTS_RELEASE;
- -],[
- - $makerule MLNX_KERNEL_TEST=conftest.i
- -],[
- - test -s build/conftest.i
- -],[
- - # LINUXRELEASE="UTS_RELEASE"
- - eval $(grep "LINUXRELEASE=" build/conftest.i)
- -],[
- - AC_MSG_RESULT([unknown])
- - AC_MSG_ERROR([Could not preprocess test program. Consult config.log for details.])
- -])
- -rm -f build/conftest.i
- +[
- +LINUXRELEASE=$(LB_LINUX_MAKE_OUTPUT([kernelrelease]))
- if test x$LINUXRELEASE = x ; then
- AC_MSG_RESULT([unknown])
- AC_MSG_ERROR([Could not determine Linux release version from linux/version.h.])
- @@ -380,6 +324,19 @@ $2
- return 0;
- }])
- +
- +#
- +# LB_LINUX_MAKE_OUTPUT
- +#
- +# Runs a make target ($1, potentially with extra flags)
- +# output goes to standard output.
- +#
- +AC_DEFUN([LB_LINUX_MAKE_OUTPUT],
- +[
- +MAKE=${MAKE:-make}
- +$MAKE -s M=$PWD -C $LINUX_OBJ $1
- +])
- +
- #
- # LB_LINUX_COMPILE_IFELSE
- #
- @@ -389,7 +346,7 @@ AC_DEFUN([LB_LINUX_COMPILE_IFELSE],
- [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
- MAKE=${MAKE:-make}
- rm -f build/conftest.o build/conftest.mod.c build/conftest.ko build/output.log
- -AS_IF([AC_TRY_COMMAND(cp conftest.c build && env $CROSS_VARS $MAKE -d [$2] ${LD:+"LD=$CROSS_COMPILE$LD"} CC="$CROSS_COMPILE$CC" -f $PWD/build/Makefile MLNX_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="-include $AUTOCONF_HDIR/autoconf.h $XEN_INCLUDES $EXTRA_MLNX_INCLUDE -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -Iinclude -I$LINUX/arch/$SRCARCH/include/uapi -Iarch/$SRCARCH/include/generated/uapi -I$LINUX/include -I$LINUX/include/uapi -Iinclude/generated/uapi -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -I$LINUX/arch/$SRCARCH/include -I$LINUX/arch/$SRCARCH/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 $CONFIG_INCLUDE_FLAG" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration -Wno-unused-variable -Wno-uninitialized $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build >/dev/null 2>build/output.log; [[[ $? -ne 0 ]]] && cat build/output.log 1>&2 && false || config/warning_filter.sh build/output.log) >/dev/null && AC_TRY_COMMAND([$3])],
- +AS_IF([AC_TRY_COMMAND(cp conftest.c build && env $CROSS_VARS $MAKE -d [$2] ${LD:+"LD=$CROSS_COMPILE$LD"} CC="$CROSS_COMPILE$CC" -f $PWD/build/Makefile MLNX_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="-include $AUTOCONF_HDIR/autoconf.h $XEN_INCLUDES $EXTRA_MLNX_INCLUDE -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -Iinclude -I$LINUX/arch/$SRCARCH/include/uapi -Iarch/$SRCARCH/include/generated/uapi -I$LINUX/include -I$LINUX/include/uapi -Iinclude/generated/uapi -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -I$LINUX/arch/$SRCARCH/include -I$LINUX/arch/$SRCARCH/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 $CONFIG_INCLUDE_FLAG" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration -Wno-unused-variable -Wno-uninitialized $EXTRA_KCFLAGS" $CROSS_VARS M=$PWD/build >/dev/null 2>build/output.log; [[[ $? -ne 0 ]]] && cat build/output.log 1>&2 && false || config/warning_filter.sh build/output.log) >/dev/null && AC_TRY_COMMAND([$3])],
- [$4],
- [_AC_MSG_LOG_CONFTEST
- m4_ifvaln([$5],[$5])dnl])
- @@ -578,7 +535,7 @@ LB_LINUX_TRY_MAKE([
- int myretval=ENOSYS ;
- return myretval;
- ],[
- - $makerule MLNX_KERNEL_TEST=conftest.i
- + MLNX_KERNEL_TEST=conftest.i
- ],[dnl
- grep request_module build/conftest.i |dnl
- grep -v `grep "int myretval=" build/conftest.i |dnl
- diff --git a/compat/config/parallel-build.m4 b/compat/config/parallel-build.m4
- index 91cfe6e..629b3b8 100644
- --- a/compat/config/parallel-build.m4
- +++ b/compat/config/parallel-build.m4
- @@ -101,7 +101,7 @@ MAKE=${MAKE:-make}
- tmpbuild=$(/bin/mktemp -d $PWD/build/build_XXXXX)
- /bin/cp build/Makefile $tmpbuild/
- m4_ifvaln([$1], [MLNX_AC_LANG_CONFTEST([$1])])dnl
- -AS_IF([AC_TRY_COMMAND(env $CROSS_VARS $MAKE -d [$2] ${LD:+"LD=$CROSS_COMPILE$LD"} CC="$CROSS_COMPILE$CC" -f $tmpbuild/Makefile MLNX_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="-include $AUTOCONF_HDIR/autoconf.h $XEN_INCLUDES $EXTRA_MLNX_INCLUDE -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -Iinclude -I$LINUX/arch/$SRCARCH/include/uapi -Iarch/$SRCARCH/include/generated/uapi -I$LINUX/include -I$LINUX/include/uapi -Iinclude/generated/uapi -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -I$LINUX/arch/$SRCARCH/include -I$LINUX/arch/$SRCARCH/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 $CONFIG_INCLUDE_FLAG" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration -Wno-unused-variable -Wno-uninitialized $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$tmpbuild >/dev/null 2>$tmpbuild/output.log; [[[ $? -ne 0 ]]] && cat $tmpbuild/output.log 1>&2 && false || config/warning_filter.sh $tmpbuild/output.log) >/dev/null && AC_TRY_COMMAND([$3])],
- +AS_IF([AC_TRY_COMMAND(env $CROSS_VARS $MAKE -d [$2] ${LD:+"LD=$CROSS_COMPILE$LD"} CC="$CROSS_COMPILE$CC" -f $tmpbuild/Makefile MLNX_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="-include $AUTOCONF_HDIR/autoconf.h $XEN_INCLUDES $EXTRA_MLNX_INCLUDE -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -Iinclude -I$LINUX/arch/$SRCARCH/include/uapi -Iarch/$SRCARCH/include/generated/uapi -I$LINUX/include -I$LINUX/include/uapi -Iinclude/generated/uapi -I$LINUX/arch/$SRCARCH/include -Iarch/$SRCARCH/include/generated -I$LINUX/arch/$SRCARCH/include -I$LINUX/arch/$SRCARCH/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 $CONFIG_INCLUDE_FLAG" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration -Wno-unused-variable -Wno-uninitialized $EXTRA_KCFLAGS" $CROSS_VARS M=$tmpbuild >/dev/null 2>$tmpbuild/output.log; [[[ $? -ne 0 ]]] && cat $tmpbuild/output.log 1>&2 && false || config/warning_filter.sh $tmpbuild/output.log) >/dev/null && AC_TRY_COMMAND([$3])],
- [$4],
- [_MLNX_AC_MSG_LOG_CONFTEST
- m4_ifvaln([$5],[$5])dnl])
- diff --git a/drivers/net/ethernet/mellanox/mlx4/crdump.c b/drivers/net/ethernet/mellanox/mlx4/crdump.c
- index f1a48ea..0d5ba27 100644
- --- a/drivers/net/ethernet/mellanox/mlx4/crdump.c
- +++ b/drivers/net/ethernet/mellanox/mlx4/crdump.c
- @@ -388,12 +388,11 @@ static int crdump_proc_open(struct inode *inode, struct file *file)
- return 0;
- }
- -static const struct file_operations crdump_proc_fops = {
- - .owner = THIS_MODULE,
- - .open = crdump_proc_open,
- - .read = seq_read,
- - .llseek = seq_lseek,
- - .release = seq_release,
- +static const struct proc_ops crdump_proc_fops = {
- + .proc_open = crdump_proc_open,
- + .proc_read = seq_read,
- + .proc_lseek = seq_lseek,
- + .proc_release = seq_release,
- };
- int mlx4_crdump_init(struct mlx4_dev *dev)
- diff --git a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
- index 23e74a1..6bbcc99 100644
- --- a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
- +++ b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
- @@ -3207,6 +3207,11 @@ static int mlx4_en_set_phys_id(struct net_device *dev,
- #endif
- const struct ethtool_ops mlx4_en_ethtool_ops = {
- + .supported_coalesce_params = ETHTOOL_COALESCE_TX_USECS | ETHTOOL_COALESCE_TX_MAX_FRAMES | ETHTOOL_COALESCE_TX_MAX_FRAMES_IRQ |
- + ETHTOOL_COALESCE_RX_USECS | ETHTOOL_COALESCE_RX_MAX_FRAMES | ETHTOOL_COALESCE_PKT_RATE_LOW |
- + ETHTOOL_COALESCE_RX_USECS_LOW | ETHTOOL_COALESCE_PKT_RATE_HIGH | ETHTOOL_COALESCE_RX_USECS_HIGH |
- + ETHTOOL_COALESCE_RATE_SAMPLE_INTERVAL | ETHTOOL_COALESCE_USE_ADAPTIVE_RX,
- +
- .get_drvinfo = mlx4_en_get_drvinfo,
- #ifdef HAVE_ETHTOOL_xLINKSETTINGS
- .get_link_ksettings = mlx4_en_get_link_ksettings,
- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/crdump.c b/drivers/net/ethernet/mellanox/mlx5/core/crdump.c
- index 8640b25..7f14fbf 100644
- --- a/drivers/net/ethernet/mellanox/mlx5/core/crdump.c
- +++ b/drivers/net/ethernet/mellanox/mlx5/core/crdump.c
- @@ -173,12 +173,11 @@ static int mlx5_crdump_open(struct inode *inode, struct file *file)
- return 0;
- }
- -static const struct file_operations mlx5_crdump_fops = {
- - .owner = THIS_MODULE,
- - .open = mlx5_crdump_open,
- - .read = seq_read,
- - .llseek = seq_lseek,
- - .release = seq_release
- +static const struct proc_ops mlx5_crdump_fops = {
- + .proc_open = mlx5_crdump_open,
- + .proc_read = seq_read,
- + .proc_lseek = seq_lseek,
- + .proc_release = seq_release
- };
- int mlx5_cr_protected_capture(struct mlx5_core_dev *dev)
- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
- index 35edd30..d9e50dd 100644
- --- a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
- +++ b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
- @@ -554,8 +554,8 @@ static int req_pages_handler(struct notifier_block *nb,
- int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot)
- {
- - u16 uninitialized_var(func_id);
- - s32 uninitialized_var(npages);
- + u16 func_id = 0;
- + s32 npages = 0;
- int err;
- err = mlx5_cmd_query_pages(dev, &func_id, &npages, boot);
- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c
- index c8124c8..88446f5 100644
- --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c
- +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c
- @@ -937,11 +937,10 @@ static int dr_dump_proc_release(struct inode *inode, struct file *file)
- return 0;
- }
- -static const struct file_operations mlx5_crdump_fops = {
- - .owner = THIS_MODULE,
- - .read = dr_dump_proc_read,
- - .open = dr_dump_proc_open,
- - .release = dr_dump_proc_release
- +static const struct proc_ops mlx5_crdump_fops = {
- + .proc_read = dr_dump_proc_read,
- + .proc_open = dr_dump_proc_open,
- + .proc_release = dr_dump_proc_release
- };
- int mlx5dr_dbg_init_dump(struct mlx5dr_domain *dmn)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement