#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for compat_mlnx 2.3.
#
# Report bugs to <http://support.mellanox.com/SupportWeb/service_center/SelfService>.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

# Use a proper internal environment variable to ensure we don't fall
  # into an infinite loop, continuously re-executing ourselves.
  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
    _as_can_reexec=no; export _as_can_reexec;
    # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
as_fn_exit 255
  fi
  # We don't want this to propagate to other subprocesses.
          { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  export CONFIG_SHELL
             # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: http://support.mellanox.com/SupportWeb/service_center/SelfService
$0: about your system, including any error possibly output
$0: before this message. Then install a modern shell, or
$0: manually run the script under such a shell if you do
$0: have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p

# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  # already done that, so ensure we don't try to do so again and fall
  # in an infinite loop.  This has already happened in practice.
  _as_can_reexec=no; export _as_can_reexec
  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1

# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='compat_mlnx'
PACKAGE_TARNAME='compat_mlnx'
PACKAGE_VERSION='2.3'
PACKAGE_STRING='compat_mlnx 2.3'
PACKAGE_BUGREPORT='http://support.mellanox.com/SupportWeb/service_center/SelfService'
PACKAGE_URL=''

ac_subst_vars='LTLIBOBJS
LIBOBJS
EXTRA_KCFLAGS
SYMVERFILE
LINUX_CONFIG
LINUX_OBJ
LINUX
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_silent_rules
with_njobs
with_linux
with_linux_obj
with_linux_config
with_kernel_source_header
'
      ac_precious_vars='build_alias
host_alias
target_alias'


# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE

# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'

ac_prev=
ac_dashdash=
for ac_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$ac_prev"; then
    eval $ac_prev=\$ac_option
    ac_prev=
    continue
  fi

  case $ac_option in
  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  *=)   ac_optarg= ;;
  *)    ac_optarg=yes ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $ac_dashdash$ac_option in
  --)
    ac_dashdash=yes ;;

  -bindir | --bindir | --bindi | --bind | --bin | --bi)
    ac_prev=bindir ;;
  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
    bindir=$ac_optarg ;;

  -build | --build | --buil | --bui | --bu)
    ac_prev=build_alias ;;
  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
    build_alias=$ac_optarg ;;

  -cache-file | --cache-file | --cache-fil | --cache-fi \
  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
    ac_prev=cache_file ;;
  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
    cache_file=$ac_optarg ;;

  --config-cache | -C)
    cache_file=config.cache ;;

  -datadir | --datadir | --datadi | --datad)
    ac_prev=datadir ;;
  -datadir=* | --datadir=* | --datadi=* | --datad=*)
    datadir=$ac_optarg ;;

  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
  | --dataroo | --dataro | --datar)
    ac_prev=datarootdir ;;
  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
    datarootdir=$ac_optarg ;;

  -disable-* | --disable-*)
    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error $? "invalid feature name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=no ;;

  -docdir | --docdir | --docdi | --doc | --do)
    ac_prev=docdir ;;
  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
    docdir=$ac_optarg ;;

  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
    ac_prev=dvidir ;;
  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
    dvidir=$ac_optarg ;;

  -enable-* | --enable-*)
    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error $? "invalid feature name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=\$ac_optarg ;;

  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  | --exec | --exe | --ex)
    ac_prev=exec_prefix ;;
  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  | --exec=* | --exe=* | --ex=*)
    exec_prefix=$ac_optarg ;;

  -gas | --gas | --ga | --g)
    # Obsolete; use --with-gas.
    with_gas=yes ;;

  -help | --help | --hel | --he | -h)
    ac_init_help=long ;;
  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
    ac_init_help=recursive ;;
  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
    ac_init_help=short ;;

  -host | --host | --hos | --ho)
    ac_prev=host_alias ;;
  -host=* | --host=* | --hos=* | --ho=*)
    host_alias=$ac_optarg ;;

  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
    ac_prev=htmldir ;;
  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
  | --ht=*)
    htmldir=$ac_optarg ;;

  -includedir | --includedir | --includedi | --included | --include \
  | --includ | --inclu | --incl | --inc)
    ac_prev=includedir ;;
  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  | --includ=* | --inclu=* | --incl=* | --inc=*)
    includedir=$ac_optarg ;;

  -infodir | --infodir | --infodi | --infod | --info | --inf)
    ac_prev=infodir ;;
  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
    infodir=$ac_optarg ;;

  -libdir | --libdir | --libdi | --libd)
    ac_prev=libdir ;;
  -libdir=* | --libdir=* | --libdi=* | --libd=*)
    libdir=$ac_optarg ;;

  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  | --libexe | --libex | --libe)
    ac_prev=libexecdir ;;
  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  | --libexe=* | --libex=* | --libe=*)
    libexecdir=$ac_optarg ;;

  -localedir | --localedir | --localedi | --localed | --locale)
    ac_prev=localedir ;;
  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
    localedir=$ac_optarg ;;

  -localstatedir | --localstatedir | --localstatedi | --localstated \
  | --localstate | --localstat | --localsta | --localst | --locals)
    ac_prev=localstatedir ;;
  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
    localstatedir=$ac_optarg ;;

  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
    ac_prev=mandir ;;
  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
    mandir=$ac_optarg ;;

  -nfp | --nfp | --nf)
    # Obsolete; use --without-fp.
    with_fp=no ;;

  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  | --no-cr | --no-c | -n)
    no_create=yes ;;

  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
    no_recursion=yes ;;

  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  | --oldin | --oldi | --old | --ol | --o)
    ac_prev=oldincludedir ;;
  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
    oldincludedir=$ac_optarg ;;

  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
    ac_prev=prefix ;;
  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
    prefix=$ac_optarg ;;

  -program-prefix | --program-prefix | --program-prefi | --program-pref \
  | --program-pre | --program-pr | --program-p)
    ac_prev=program_prefix ;;
  -program-prefix=* | --program-prefix=* | --program-prefi=* \
  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
    program_prefix=$ac_optarg ;;

  -program-suffix | --program-suffix | --program-suffi | --program-suff \
  | --program-suf | --program-su | --program-s)
    ac_prev=program_suffix ;;
  -program-suffix=* | --program-suffix=* | --program-suffi=* \
  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
    program_suffix=$ac_optarg ;;

  -program-transform-name | --program-transform-name \
  | --program-transform-nam | --program-transform-na \
  | --program-transform-n | --program-transform- \
  | --program-transform | --program-transfor \
  | --program-transfo | --program-transf \
  | --program-trans | --program-tran \
  | --progr-tra | --program-tr | --program-t)
    ac_prev=program_transform_name ;;
  -program-transform-name=* | --program-transform-name=* \
  | --program-transform-nam=* | --program-transform-na=* \
  | --program-transform-n=* | --program-transform-=* \
  | --program-transform=* | --program-transfor=* \
  | --program-transfo=* | --program-transf=* \
  | --program-trans=* | --program-tran=* \
  | --progr-tra=* | --program-tr=* | --program-t=*)
    program_transform_name=$ac_optarg ;;

  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
    ac_prev=pdfdir ;;
  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
    pdfdir=$ac_optarg ;;

  -psdir | --psdir | --psdi | --psd | --ps)
    ac_prev=psdir ;;
  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
    psdir=$ac_optarg ;;

  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil)
    silent=yes ;;

  -runstatedir | --runstatedir | --runstatedi | --runstated \
  | --runstate | --runstat | --runsta | --runst | --runs \
  | --run | --ru | --r)
    ac_prev=runstatedir ;;
  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
  | --run=* | --ru=* | --r=*)
    runstatedir=$ac_optarg ;;

  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
    ac_prev=sbindir ;;
  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  | --sbi=* | --sb=*)
    sbindir=$ac_optarg ;;

  -sharedstatedir | --sharedstatedir | --sharedstatedi \
  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  | --sharedst | --shareds | --shared | --share | --shar \
  | --sha | --sh)
    ac_prev=sharedstatedir ;;
  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  | --sha=* | --sh=*)
    sharedstatedir=$ac_optarg ;;

  -site | --site | --sit)
    ac_prev=site ;;
  -site=* | --site=* | --sit=*)
    site=$ac_optarg ;;

  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
    ac_prev=srcdir ;;
  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
    srcdir=$ac_optarg ;;

  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  | --syscon | --sysco | --sysc | --sys | --sy)
    ac_prev=sysconfdir ;;
  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
    sysconfdir=$ac_optarg ;;

  -target | --target | --targe | --targ | --tar | --ta | --t)
    ac_prev=target_alias ;;
  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
    target_alias=$ac_optarg ;;

  -v | -verbose | --verbose | --verbos | --verbo | --verb)
    verbose=yes ;;

  -version | --version | --versio | --versi | --vers | -V)
    ac_init_version=: ;;

  -with-* | --with-*)
    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error $? "invalid package name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=\$ac_optarg ;;

  -without-* | --without-*)
    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error $? "invalid package name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=no ;;

  --x)
    # Obsolete; use --with-x.
    with_x=yes ;;

  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  | --x-incl | --x-inc | --x-in | --x-i)
    ac_prev=x_includes ;;
  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
    x_includes=$ac_optarg ;;

  -x-libraries | --x-libraries | --x-librarie | --x-librari \
  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
    ac_prev=x_libraries ;;
  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
    x_libraries=$ac_optarg ;;

  -*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
    ;;

  *=*)
    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
    # Reject names that are not valid shell variable names.
    case $ac_envvar in #(
      '' | [0-9]* | *[!_$as_cr_alnum]* )
      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
    esac
    eval $ac_envvar=\$ac_optarg
    export $ac_envvar ;;

  *)
    # FIXME: should be removed in autoconf 3.0.
    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
    ;;

  esac
done

if test -n "$ac_prev"; then
  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
  as_fn_error $? "missing argument to $ac_option"
fi

if test -n "$ac_unrecognized_opts"; then
  case $enable_option_checking in
    no) ;;
    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
  esac
fi

# Check all directory arguments for consistency.
for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
		datadir sysconfdir sharedstatedir localstatedir includedir \
		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
		libdir localedir mandir runstatedir
do
  eval ac_val=\$$ac_var
  # Remove trailing slashes.
  case $ac_val in
    */ )
      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
      eval $ac_var=\$ac_val;;
  esac
  # Be sure to have absolute directory names.
  case $ac_val in
    [\\/$]* | ?:[\\/]* )  continue;;
    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
  esac
  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done

# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias

# FIXME: To remove some day.
if test "x$host_alias" != x; then
  if test "x$build_alias" = x; then
    cross_compiling=maybe
  elif test "x$build_alias" != "x$host_alias"; then
    cross_compiling=yes
  fi
fi

ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-

test "$silent" = yes && exec 6>/dev/null


ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
  as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
  as_fn_error $? "pwd does not report name of working directory"


# Find the source files, if location was not specified.
if test -z "$srcdir"; then
  ac_srcdir_defaulted=yes
  # Try the directory containing this script, then the parent directory.
  ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_myself" : 'X\(//\)[^/]' \| \
	 X"$as_myself" : 'X\(//\)$' \| \
	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  srcdir=$ac_confdir
  if test ! -r "$srcdir/$ac_unique_file"; then
    srcdir=..
  fi
else
  ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
	pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
  srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
  eval ac_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_env_${ac_var}_value=\$${ac_var}
  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_cv_env_${ac_var}_value=\$${ac_var}
done

#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
  # Omit some internal or obsolete options to make the list less imposing.
  # This message is too long to be a string in the A/UX 3.1 sh.
  cat <<_ACEOF
\`configure' configures compat_mlnx 2.3 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print \`checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for \`--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or \`..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [$ac_default_prefix]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/compat_mlnx]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]
_ACEOF

  cat <<\_ACEOF

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of compat_mlnx 2.3:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-njobs=N          Allow N jobs at once; jobs as number of CPUs with no
                          arg.
  --with-linux=path       set path to Linux source
                          (default=/lib/modules/$(uname
                          -r)/{source,build},/usr/src/linux)
  --with-linux-obj=path   set path to Linux objects dir
                          (default=/lib/modules/$(uname
                          -r)/build,/usr/src/linux)
  --with-linux-config=path
                          set path to Linux .conf
                          (default=$LINUX_OBJ/include/config/auto.conf)
  --with-kernel-source-header=path
                          Use a different kernel version header. Consult
                          build/README.kernel-source for details.

Report bugs to <http://support.mellanox.com/SupportWeb/service_center/SelfService>.
_ACEOF
ac_status=$?
fi

if test "$ac_init_help" = "recursive"; then
  # If there are subdirs, report their specific --help.
  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
    test -d "$ac_dir" ||
      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
      continue
    ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix

    cd "$ac_dir" || { ac_status=$?; continue; }
    # Check for guested configure.
    if test -f "$ac_srcdir/configure.gnu"; then
      echo &&
      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
    elif test -f "$ac_srcdir/configure"; then
      echo &&
      $SHELL "$ac_srcdir/configure" --help=recursive
    else
      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
    fi || ac_status=$?
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
compat_mlnx configure 2.3
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
fi

## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by compat_mlnx $as_me 2.3, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
IFS=$as_save_IFS

} >&5

cat >&5 <<_ACEOF


## ----------- ##
## Core tests. ##
## ----------- ##

_ACEOF


# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
  for ac_arg
  do
    case $ac_arg in
    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
    | -silent | --silent | --silen | --sile | --sil)
      continue ;;
    *\'*)
      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    case $ac_pass in
    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
    2)
      as_fn_append ac_configure_args1 " '$ac_arg'"
      if test $ac_must_keep_next = true; then
	ac_must_keep_next=false # Got value, back to normal.
      else
	case $ac_arg in
	  *=* | --config-cache | -C | -disable-* | --disable-* \
	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
	  | -with-* | --with-* | -without-* | --without-* | --x)
	    case "$ac_configure_args0 " in
	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
	    esac
	    ;;
	  -* ) ac_must_keep_next=true ;;
	esac
      fi
      as_fn_append ac_configure_args " '$ac_arg'"
      ;;
    esac
  done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}

# When interrupted or exit'd, cleanup temporary files, and complete
# config.log.  We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
  # Save into config.log some information that might help in debugging.
  {
    echo

    $as_echo "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
    echo
    # The following way of writing the cache mishandles newlines in values,
(
  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) { eval $ac_var=; unset $ac_var;} ;;
      esac ;;
    esac
  done
  (set) 2>&1 |
    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      sed -n \
	"s/'\''/'\''\\\\'\'''\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
      ;; #(
    *)
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
)
    echo

    $as_echo "## ----------------- ##
## Output variables. ##
## ----------------- ##"
    echo
    for ac_var in $ac_subst_vars
    do
      eval ac_val=\$$ac_var
      case $ac_val in
      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
      esac
      $as_echo "$ac_var='\''$ac_val'\''"
    done | sort
    echo

    if test -n "$ac_subst_files"; then
      $as_echo "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
      echo
      for ac_var in $ac_subst_files
      do
	eval ac_val=\$$ac_var
	case $ac_val in
	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
	esac
	$as_echo "$ac_var='\''$ac_val'\''"
      done | sort
      echo
    fi

    if test -s confdefs.h; then
      $as_echo "## ----------- ##
## confdefs.h. ##
## ----------- ##"
      echo
      cat confdefs.h
      echo
    fi
    test "$ac_signal" != 0 &&
      $as_echo "$as_me: caught signal $ac_signal"
    $as_echo "$as_me: exit $exit_status"
  } >&5
  rm -f core *.core core.conftest.* &&
    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
    exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0

# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h

$as_echo "/* confdefs.h */" > confdefs.h

# Predefined preprocessor variables.

cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_URL "$PACKAGE_URL"
_ACEOF


# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
  # We do not want a PATH search for config.site.
  case $CONFIG_SITE in #((
    -*)  ac_site_file1=./$CONFIG_SITE;;
    */*) ac_site_file1=$CONFIG_SITE;;
    *)   ac_site_file1=./$CONFIG_SITE;;
  esac
elif test "x$prefix" != xNONE; then
  ac_site_file1=$prefix/share/config.site
  ac_site_file2=$prefix/etc/config.site
else
  ac_site_file1=$ac_default_prefix/share/config.site
  ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
  test "x$ac_site_file" = xNONE && continue
  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
    sed 's/^/| /' "$ac_site_file" >&5
    . "$ac_site_file" \
      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
  fi
done

if test -r "$cache_file"; then
  # Some versions of bash will fail to source /dev/null (special files
  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
    case $cache_file in
      [\\/]* | ?:[\\/]* ) . "$cache_file";;
      *)                      . "./$cache_file";;
    esac
  fi
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
  >$cache_file
fi

# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
  eval ac_old_set=\$ac_cv_env_${ac_var}_set
  eval ac_new_set=\$ac_env_${ac_var}_set
  eval ac_old_val=\$ac_cv_env_${ac_var}_value
  eval ac_new_val=\$ac_env_${ac_var}_value
  case $ac_old_set,$ac_new_set in
    set,)
      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,set)
      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,);;
    *)
      if test "x$ac_old_val" != "x$ac_new_val"; then
	# differences in whitespace do not lead to failure.
	ac_old_val_w=`echo x $ac_old_val`
	ac_new_val_w=`echo x $ac_new_val`
	if test "$ac_old_val_w" != "$ac_new_val_w"; then
	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
	  ac_cache_corrupted=:
	else
	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
	  eval $ac_var=\$ac_old_val
	fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
      fi;;
  esac
  # Pass precious variables to config.status.
  if test "$ac_new_set" = set; then
    case $ac_new_val in
    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
    *) ac_arg=$ac_var=$ac_new_val ;;
    esac
    case " $ac_configure_args " in
      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
    esac
  fi
done
if $ac_cache_corrupted; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu



ac_aux_dir=
for ac_dir in config "$srcdir"/config; do
  if test -f "$ac_dir/install-sh"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/install-sh -c"
    break
  elif test -f "$ac_dir/install.sh"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/install.sh -c"
    break
  elif test -f "$ac_dir/shtool"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/shtool install -c"
    break
  fi
done
if test -z "$ac_aux_dir"; then
  as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
fi

# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.




am__api_version='1.15'

# Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if ${ac_cv_path_install+:} false; then :
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in #((
  ./ | .// | /[cC]/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

  done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test "${ac_cv_path_install+set}" = set; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL within a source directory, because that will
    # break other packages using the cache if that directory is
    # removed, or if the value is a relative name.
    INSTALL=$ac_install_sh
  fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
# Reject unsafe characters in $srcdir or the absolute working directory
# name.  Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
  *[\\\"\#\$\&\'\`$am_lf]*)
    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac

# Do 'set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   am_has_slept=no
   for am_try in 1 2; do
     echo "timestamp, slept: $am_has_slept" > conftest.file
     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
     if test "$*" = "X"; then
	# -L didn't work.
	set X `ls -t "$srcdir/configure" conftest.file`
     fi
     if test "$*" != "X $srcdir/configure conftest.file" \
	&& test "$*" != "X conftest.file $srcdir/configure"; then

	# If neither matched, then we have a broken ls.  This can happen
	# if, for instance, CONFIG_SHELL is bash and it inherits a
	# broken ls alias from the environment.  This has actually
	# happened.  Such a system could not be considered "sane".
	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
  alias in your environment" "$LINENO" 5
     fi
     if test "$2" = conftest.file || test $am_try -eq 2; then
       break
     fi
     # Just in case.
     sleep 1
     am_has_slept=yes
   done
   test "$2" = conftest.file
   )
then
   # Ok.
   :
else
   as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
  ( sleep 1 ) &
  am_sleep_pid=$!
fi

rm -f conftest.file

test "$program_prefix" != NONE &&
  program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`

# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`

if test x"${MISSING+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  *)
    MISSING="\${SHELL} $am_aux_dir/missing" ;;
  esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
  am_missing_run="$MISSING "
else
  am_missing_run=
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi

if test x"${install_sh+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  *)
    install_sh="\${SHELL} $am_aux_dir/install-sh"
  esac
fi

# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip".  However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
  if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -n "$STRIP"; then
  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_STRIP"; then
  ac_ct_STRIP=$STRIP
  # Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -n "$ac_ct_STRIP"; then
  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    STRIP=$ac_ct_STRIP
  fi
else
  STRIP="$ac_cv_prog_STRIP"
fi

fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
  if ${ac_cv_path_mkdir+:} false; then :
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_prog in mkdir gmkdir; do
	 for ac_exec_ext in '' $ac_executable_extensions; do
	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
	     'mkdir (GNU coreutils) '* | \
	     'mkdir (coreutils) '* | \
	     'mkdir (fileutils) '4.1*)
	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
	       break 3;;
	   esac
	 done
       done
  done
IFS=$as_save_IFS

fi

  test -d ./--version && rmdir ./--version
  if test "${ac_cv_path_mkdir+set}" = set; then
    MKDIR_P="$ac_cv_path_mkdir -p"
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for MKDIR_P within a source directory, because that will
    # break other packages using the cache if that directory is
    # removed, or if the value is a relative name.
    MKDIR_P="$ac_install_sh -d"
  fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }

for ac_prog in gawk mawk nawk awk
do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AWK+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -n "$AWK"; then
  ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_AWK="$ac_prog"
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$AWK" && break
done

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
	@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
  *@@@%%%=?*=@@@%%%*)
    eval ac_cv_prog_make_${ac_make}_set=yes;;
  *)
    eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
  SET_MAKE=
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
  SET_MAKE="MAKE=${MAKE-make}"
fi

rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
  am__leading_dot=.
else
  am__leading_dot=_
fi
rmdir .tst 2>/dev/null

# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
  enableval=$enable_silent_rules;
fi

case $enable_silent_rules in # (((
  yes) AM_DEFAULT_VERBOSITY=0;;
   no) AM_DEFAULT_VERBOSITY=1;;
    *) AM_DEFAULT_VERBOSITY=1;;
esac
am_make=${MAKE-make}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
if ${am_cv_make_support_nested_variables+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if $as_echo 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
	@$(TRUE)
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
  am_cv_make_support_nested_variables=yes
else
  am_cv_make_support_nested_variables=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
$as_echo "$am_cv_make_support_nested_variables" >&6; }
if test $am_cv_make_support_nested_variables = yes; then
    AM_V='$(V)'
  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
  AM_V=$AM_DEFAULT_VERBOSITY
  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AM_BACKSLASH='\'

if test "`cd $srcdir && pwd`" != "`pwd`"; then
  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  # is not polluted with repeated "-I."
  am__isrc=' -I$(srcdir)'
  # test to see if srcdir already configured
  if test -f $srcdir/config.status; then
    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
  fi
fi

# test whether we have cygpath
if test -z "$CYGPATH_W"; then
  if (cygpath --version) >/dev/null 2>/dev/null; then
    CYGPATH_W='cygpath -w'
  else
    CYGPATH_W=echo
  fi
fi


# Define the identity of the package.
 PACKAGE='compat_mlnx'
 VERSION='2.3'


cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF

# Some tools Automake needs.

ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}


AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}


AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}


AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}


MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}

# For better backward compatibility.  To be removed once Automake 1.9.x
# dies out for good.  For more background, see:
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'

# We need awk for the "check" target (and possibly the TAP driver).  The
# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility.  Yes, it's still used
# in the wild :-(  We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'


# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar  pax cpio none'

am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'






# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes.  So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
  cat >&2 <<'END'
Oops!

Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present.  This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>

Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message.  This
can help us improve future automake versions.

END
  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
    echo 'Configuration will proceed anyway, since you have set the' >&2
    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
    echo >&2
  else
    cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.

You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <http://www.gnu.org/software/coreutils/>.

If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.

END
    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
  fi
fi

ac_config_files="$ac_config_files Makefile"



# Check whether --with-njobs was given.
if test "${with_njobs+set}" = set; then :
  withval=$with_njobs;
		NJOBS="$withval"
		case "X${NJOBS}" in
			X | XA-Za-z*)
			NJOBS=$(MLXNUMC=$(grep ^processor /proc/cpuinfo | wc -l) && echo $(($MLXNUMC<16?$MLXNUMC:16)))
			;;
		esac

else
  NJOBS=1

fi



# prep some default values
for DEFAULT_LINUX in /lib/modules/$(uname -r)/{source,build} /usr/src/linux; do
	if readlink -q -e $DEFAULT_LINUX >/dev/null; then
		break
	fi
done
if test "$DEFAULT_LINUX" = "/lib/modules/$(uname -r)/source"; then
	PATHS="/lib/modules/$(uname -r)/build"
fi
PATHS="$PATHS $DEFAULT_LINUX"
for DEFAULT_LINUX_OBJ in $PATHS; do
	if readlink -q -e $DEFAULT_LINUX_OBJ >/dev/null; then
		break
	fi
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux sources" >&5
$as_echo_n "checking for Linux sources... " >&6; }

# Check whether --with-linux was given.
if test "${with_linux+set}" = set; then :
  withval=$with_linux;

	LINUX=$(readlink -f $with_linux)

	new_configure_args=
	eval "set x $ac_configure_args"
	shift
	for arg; do
		case $arg in
			--with-linux=*)
				arg=--with-linux=$LINUX
				;;
			*\'*)
				arg=$(printf %s\n "$arg" | \
				      sed "s/'/'\\\\\\\\''/g")
				;;
		esac
				new_configure_args="$new_configure_args \"$arg\""
	done
	ac_configure_args=$new_configure_args



	DEFAULT_LINUX_OBJ=$LINUX
else
  LINUX=$DEFAULT_LINUX
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX" >&5
$as_echo "$LINUX" >&6; }


# -------- check for linux --------
as_lb_File=`$as_echo "lb_cv_file_$LINUX" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX" >&5
$as_echo_n "checking for $LINUX... " >&6; }
if eval \${$as_lb_File+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -r "$LINUX"; then
    eval "$as_lb_File=yes"
else
    eval "$as_lb_File=no"
fi
fi
eval ac_res=\$$as_lb_File
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if test `eval 'as_val=${'$as_lb_File'};$as_echo "$as_val"'` = yes; then :

else
  as_fn_error $? "Kernel source $LINUX could not be found." "$LINENO" 5
fi

# -------- linux objects (for 2.6) --
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux objects dir" >&5
$as_echo_n "checking for Linux objects dir... " >&6; }

# Check whether --with-linux-obj was given.
if test "${with_linux_obj+set}" = set; then :
  withval=$with_linux_obj;

	LINUX_OBJ=$(readlink -f $with_linux_obj)

	new_configure_args=
	eval "set x $ac_configure_args"
	shift
	for arg; do
		case $arg in
			--with-linux-obj=*)
				arg=--with-linux-obj=$LINUX_OBJ
				;;
			*\'*)
				arg=$(printf %s\n "$arg" | \
				      sed "s/'/'\\\\\\\\''/g")
				;;
		esac
				new_configure_args="$new_configure_args \"$arg\""
	done
	ac_configure_args=$new_configure_args



else
  LINUX_OBJ=$DEFAULT_LINUX_OBJ
fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX_OBJ" >&5
$as_echo "$LINUX_OBJ" >&6; }


# -------- check for .config --------

# Check whether --with-linux-config was given.
if test "${with_linux_config+set}" = set; then :
  withval=$with_linux_config;

	LINUX_CONFIG=$(readlink -f $with_linux_config)

	new_configure_args=
	eval "set x $ac_configure_args"
	shift
	for arg; do
		case $arg in
			--with-linux-config=*)
				arg=--with-linux-config=$LINUX_CONFIG
				;;
			*\'*)
				arg=$(printf %s\n "$arg" | \
				      sed "s/'/'\\\\\\\\''/g")
				;;
		esac
				new_configure_args="$new_configure_args \"$arg\""
	done
	ac_configure_args=$new_configure_args



else
  LINUX_CONFIG=$LINUX_OBJ/include/config/auto.conf
fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /boot/kernel.h" >&5
$as_echo_n "checking for /boot/kernel.h... " >&6; }
if ${lb_cv_file__boot_kernel_h+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -r "/boot/kernel.h"; then
    lb_cv_file__boot_kernel_h=yes
else
    lb_cv_file__boot_kernel_h=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__boot_kernel_h" >&5
$as_echo "$lb_cv_file__boot_kernel_h" >&6; }
if test $lb_cv_file__boot_kernel_h = yes; then :
  KERNEL_SOURCE_HEADER='/boot/kernel.h'
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /var/adm/running-kernel.h" >&5
$as_echo_n "checking for /var/adm/running-kernel.h... " >&6; }
if ${lb_cv_file__var_adm_running_kernel_h+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -r "/var/adm/running-kernel.h"; then
    lb_cv_file__var_adm_running_kernel_h=yes
else
    lb_cv_file__var_adm_running_kernel_h=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__var_adm_running_kernel_h" >&5
$as_echo "$lb_cv_file__var_adm_running_kernel_h" >&6; }
if test $lb_cv_file__var_adm_running_kernel_h = yes; then :
  KERNEL_SOURCE_HEADER='/var/adm/running-kernel.h'
fi
fi


# Check whether --with-kernel-source-header was given.
if test "${with_kernel_source_header+set}" = set; then :
  withval=$with_kernel_source_header;

	KERNEL_SOURCE_HEADER=$(readlink -f $with_kernel_source_header)

	new_configure_args=
	eval "set x $ac_configure_args"
	shift
	for arg; do
		case $arg in
			--with-kernel-source-header=*)
				arg=--with-kernel-source-header=$KERNEL_SOURCE_HEADER
				;;
			*\'*)
				arg=$(printf %s\n "$arg" | \
				      sed "s/'/'\\\\\\\\''/g")
				;;
		esac
				new_configure_args="$new_configure_args \"$arg\""
	done
	ac_configure_args=$new_configure_args



fi


# ------------ .config exists ----------------
as_lb_File=`$as_echo "lb_cv_file_$LINUX_CONFIG" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX_CONFIG" >&5
$as_echo_n "checking for $LINUX_CONFIG... " >&6; }
if eval \${$as_lb_File+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -r "$LINUX_CONFIG"; then
    eval "$as_lb_File=yes"
else
    eval "$as_lb_File=no"
fi
fi
eval ac_res=\$$as_lb_File
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if test `eval 'as_val=${'$as_lb_File'};$as_echo "$as_val"'` = yes; then :

else
  as_fn_error $? "Kernel config could not be found.  If you are building from a kernel-source rpm consult build/README.kernel-source" "$LINENO" 5
fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking name of module symbol version file" >&5
$as_echo_n "checking name of module symbol version file... " >&6; }
	if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost ; then
		SYMVERFILE=Modules.symvers
	else
		SYMVERFILE=Module.symvers
	fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMVERFILE" >&5
$as_echo "$SYMVERFILE" >&6; }





	MLNX_RDMA_MODULES_DIR="$PWD/modtest"
	MLNX_RDMA_TEST_MOD="testmod"
	MLNX_RDMA_RUN_LOG="$MLNX_RDMA_MODULES_DIR/run.log"
	# Generally handle any warning as error (-Werror), except:
	# -Wno-unused-variable: A common pattern is to initialize a
	# 		         variable to make sure e.g. a field exists
	# 			 but not bother using it later.
	# -Wno-uninitialized: A common pattern in tests is to use
	# 		      uninitialized values, so we won't have to
	# 		      worry about their type.
	# -Wno-missing-braces: Harmless and almost always wrong
	ERROR_FLAGS="-Werror -Wno-unused-variable -Wno-unused-value -Wno-uninitialized -Wno-missing-braces"


	rm -rf ${MLNX_RDMA_MODULES_DIR}
	mkdir -p ${MLNX_RDMA_MODULES_DIR}


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working kernel modules build system" >&5
$as_echo_n "checking for a working kernel modules build system... " >&6; }

	if false; then

$as_echo "#define KBUILD_WORKS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=KBUILD_WORKS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");


static int __maybe_unused test_func (void) {


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "building a kernel module works" > "$MLNX_RDMA_MODULES_DIR/desc"

	make -s -C "$LINUX_OBJ" ccflags-y="$ERROR_FLAGS" "M=$MLNX_RDMA_MODULES_DIR" MLNX_TEST_KBUILD_WORKS=m MLNX_RDMA_SILENT=yes modules 2>"$MLNX_RDMA_RUN_LOG"
	mlnx_ofed_rc=$?
	if test "$mlnx_ofed_rc" != 0; then
		echo ''; cat "$MLNX_RDMA_RUN_LOG"
		as_fn_error $? "Failed to build a dummy kernel module. Check compiler, kernel headers, etc." "$LINENO" 5
	fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }



	if false; then

$as_echo "#define HAVE_NDO_LOCK_STATUS_GET_GET_ERROR_STATUS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_LOCK_STATUS_GET_GET_ERROR_STATUS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dpll.h>

		int my_lock_status_get(const struct dpll_device *dpll, void *dpll_priv,
						enum dpll_lock_status *status,
						enum dpll_lock_status_error *status_error,
						struct netlink_ext_ack *extack);
		int my_lock_status_get(const struct dpll_device *dpll, void *dpll_priv,
		                               enum dpll_lock_status *status,
                		               enum dpll_lock_status_error *status_error,
                               		       struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct dpll_device_ops ndops = {
			.lock_status_get = my_lock_status_get,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dpll_pin_ops.lock_status_get has status_error" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_DIM_POINTER_END_SAMPLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_DIM_POINTER_END_SAMPLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		      #include <linux/dim.h>

static int __maybe_unused test_func (void) {

		      struct dim_sample dim_sample = {};
	              net_dim(NULL, &dim_sample);
		      return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net_dim get const pointer end_sample" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DPLL_STRUCTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DPLL_STRUCTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/dpll.h>

static int __maybe_unused test_func (void) {

		struct dpll_pin_ops *pin_ops = NULL;
		struct dpll_device_ops *devce_ops = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "have struct dpll_pin_ops" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DPLL_PIN_OPS_HAS_FFO_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DPLL_PIN_OPS_HAS_FFO_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/dpll.h>

static int __maybe_unused test_func (void) {

		struct dpll_pin_ops pin_ops;

		pin_ops.ffo_get = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct dpll_pin_ops has ffo_get" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DPLL_NETDEV_PIN_SET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DPLL_NETDEV_PIN_SET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/dpll.h>

static int __maybe_unused test_func (void) {

		dpll_netdev_pin_set(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dpll.h has dpll_netdev_pin_set" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_DPLL_PIN_SET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_DPLL_PIN_SET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netdev_dpll_pin_set(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdevice.h has netdev_dpll_pin_set" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CLOCK_QUALITY_LEVEL_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CLOCK_QUALITY_LEVEL_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/dpll.h>
	static int foo_clock_quality_level_get(const struct dpll_device *dpll,
						void *priv,
						unsigned long *qls,
						struct netlink_ext_ack *extack)
		{
			return 0;
		}


static int __maybe_unused test_func (void) {

		static struct dpll_device_ops ddo = {
			.clock_quality_level_get = foo_clock_quality_level_get,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "have function clock_quality_level_get" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CAN_USE_KVFREE_CLEANUP_NO_WRAPPER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CAN_USE_KVFREE_CLEANUP_NO_WRAPPER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>       // Provides kvfree() function
		#include <linux/compiler.h> // Provides __free() annotation

static int __maybe_unused test_func (void) {

		void *rpc_alloc __free(kvfree) = NULL;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__free anotation for kvfree could be used" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KVFREE_IN_SLAB_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KVFREE_IN_SLAB_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/slab.h>

static int __maybe_unused test_func (void) {

		kvfree(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kvfree prototype is in slab.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HMM_PFN_TO_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HMM_PFN_TO_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/hmm.h>

static int __maybe_unused test_func (void) {

		hmm_pfn_to_page(0UL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "have hmm_pfn_to_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HMM_PFN_TO_MAP_ORDER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HMM_PFN_TO_MAP_ORDER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/hmm.h>

static int __maybe_unused test_func (void) {

		unsigned int i = hmm_pfn_to_map_order(0UL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "have hmm_pfn_to_map_order" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VM_FLAGS_CLEAR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VM_FLAGS_CLEAR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/hmm.h>

static int __maybe_unused test_func (void) {

		vm_flags_clear(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "vm_flags_clear exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HMM_RANGE_HAS_HMM_PFNS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HMM_RANGE_HAS_HMM_PFNS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/hmm.h>

static int __maybe_unused test_func (void) {

		struct hmm_range h;
		h.hmm_pfns = NULL;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "hmm_range has hmm_pfns" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HMM_RANGE_FAULT_HAS_ONE_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HMM_RANGE_FAULT_HAS_ONE_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/hmm.h>

static int __maybe_unused test_func (void) {

		int l;
		l = hmm_range_fault(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "hmm_range_fault has one param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IB_UMEM_DMABUF_GET_PINNED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IB_UMEM_DMABUF_GET_PINNED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <rdma/ib_umem.h>

static int __maybe_unused test_func (void) {

		ib_umem_dmabuf_get_pinned(NULL, 0, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rdma/ib_umem.h ib_umem_dmabuf_get_pinned defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IS_TCF_POLICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IS_TCF_POLICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <net/tc_act/tc_police.h>

static int __maybe_unused test_func (void) {

		return is_tcf_police(NULL) ? 1 : 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "is_tcf_police is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <net/udp_tunnel.h>

static int __maybe_unused test_func (void) {

		int flag;

		flag = UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "udp_tunnel.h has enum UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UDP_TUNNEL_NIC_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UDP_TUNNEL_NIC_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <net/udp_tunnel.h>

static int __maybe_unused test_func (void) {

		struct udp_tunnel_nic_info x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "udp_tunnel.h has struct udp_tunnel_nic_info is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_PUT_AND_HOLD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_PUT_AND_HOLD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netdev_hold(NULL,NULL, 0);
		netdev_put(NULL,NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/netdevice.h has netdev_hold" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UNREGISTER_NETDEVICE_NOTIFIER_NET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UNREGISTER_NETDEVICE_NOTIFIER_NET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		unregister_netdevice_notifier_net(NULL,NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "unregister_netdevice_notifier_net is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REGISTER_NETDEVICE_NOTIFIER_DEV_NET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REGISTER_NETDEVICE_NOTIFIER_DEV_NET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		register_netdevice_notifier_dev_net(NULL,NULL,NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "register_netdevice_notifier_dev_net is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_NAPI_ADD_CONFIG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_NAPI_ADD_CONFIG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        #include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

        	netif_napi_add_config(NULL, NULL, NULL ,0);

	        return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdevice.h has netif_napi_add_config" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEV_XDP_PROG_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEV_XDP_PROG_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		dev_xdp_prog_id(NULL,0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dev_xdp_prog_id is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_NET_NOTIFIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_NET_NOTIFIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct netdev_net_notifier notifier;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct netdev_net_notifier is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_PREFETCH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_PREFETCH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		net_prefetch(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net_prefetch is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IS_COW_MAPPING -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IS_COW_MAPPING
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		is_cow_mapping(0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "is_cow_mapping is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_LONGTERM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_LONGTERM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages_longterm(0, 0, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages_longterm is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages(0, 0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages(0, 0, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_7_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_7_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages(NULL, NULL, 0, 0, 0, NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages has 7 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMAP_READ_LOCK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMAP_READ_LOCK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		mmap_read_lock(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "map_lock has mmap_read_lock" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_REMOTE_7_PARAMS_AND_SECOND_INT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_REMOTE_7_PARAMS_AND_SECOND_INT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages_remote(NULL, 0, 0, 0, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages_remote is defined with 7 parameters and parameter 2 is integer" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_REMOTE_8_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_REMOTE_8_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages_remote(NULL, NULL, 0, 0, 0, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages_remote is defined with 8 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_USER_PAGES_REMOTE_8_PARAMS_W_LOCKED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_USER_PAGES_REMOTE_8_PARAMS_W_LOCKED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		get_user_pages_remote(NULL, NULL, 0, 0, 0, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_user_pages_remote is defined with 8 parameters with locked" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_INT_POW -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_INT_POW
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/kernel.h>

static int __maybe_unused test_func (void) {

		return int_pow(2, 3);


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "int_pow defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_RANDOM_U32_INCLUSIVE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_RANDOM_U32_INCLUSIVE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/random.h>

static int __maybe_unused test_func (void) {

		int a;
		a = get_random_u32_inclusive(0, 100);


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_random_u32_inclusive defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_RANDOM_U8 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_RANDOM_U8
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/random.h>

static int __maybe_unused test_func (void) {

		int a;
		a = get_random_u8();


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_random_u8 defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_GET_DEVLINK_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_GET_DEVLINK_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device_ops ndops = {
			.ndo_get_devlink_port = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_get_devlink_port is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_INT_DEVLINK_FMSG_U8_PAIR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_INT_DEVLINK_FMSG_U8_PAIR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int err = devlink_fmsg_u8_pair_put(NULL, "test", 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_fmsg_u8_pair_put returns int" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_IPSEC_CRYPTO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_IPSEC_CRYPTO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port_ops dl_port_ops  = {
			.port_fn_ipsec_crypto_get = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_fn_ipsec_crypto_get is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_IPSEC_PACKET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_IPSEC_PACKET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port_ops dl_port_ops  = {
			.port_fn_ipsec_packet_get = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_fn_ipsec_packet_get is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_INSTANCES_RELATIONSHIPS_EXPOSURE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_INSTANCES_RELATIONSHIPS_EXPOSURE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port dp;
		enum devlink_port_function_attr attr;

		dp.rel_index = 2;
		attr = DEVLINK_PORT_FN_ATTR_DEVLINK;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.7 devlink instances relationships exposure" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_METADATA_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_METADATA_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device nd = {
			.xdp_metadata_ops = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has struct net_device has xdp_metadata_ops member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_AND_NAPI_ASSOCIATION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_AND_NAPI_ASSOCIATION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

               #include <net/netdev_rx_queue.h>

static int __maybe_unused test_func (void) {

               struct napi_struct ns;
               struct netdev_rx_queue nrq;

               ns.irq = 2;
               nrq.napi = NULL;

               return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports queue and napi association" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_RATE_LEAF_CREATE_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_RATE_LEAF_CREATE_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_rate_leaf_create(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devl_rate_leaf_create 3 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_INFO_VERSION_FIXED_PUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_INFO_VERSION_FIXED_PUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_info_version_fixed_put(NULL, NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_info_version_fixed_put exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_TYPE_ETH_SET_GET_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_TYPE_ETH_SET_GET_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_type_eth_set(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_type_eth_set get 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_PARAM_DRIVERINIT_VALUE_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_PARAM_DRIVERINIT_VALUE_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_param_driverinit_value_get(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_param_driverinit_value_get" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_PORT_HEALTH_REPORTER_CREATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_PORT_HEALTH_REPORTER_CREATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_port_health_reporter_create(NULL, NULL, 0, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_port_health_reporter_create" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_HEALTH_REPORTER_CREATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_HEALTH_REPORTER_CREATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_health_reporter_create(NULL, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_health_reporter_create" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_INFO_DRIVER_NAME_PUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_INFO_DRIVER_NAME_PUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_info_driver_name_put(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_info_driver_name_put" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_SET_FEATURES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_SET_FEATURES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_set_features(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_set_features" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TO_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TO_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_to_dev(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_to_dev" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_PORT_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_PORT_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_port_register(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h devl_port_register defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_TRAP_GROUPS_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_TRAP_GROUPS_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_trap_groups_register(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h devl_trap_groups_register defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_param_register(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h devlink_param_register defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_REGISTER_GET_1_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_REGISTER_GET_1_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_register(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_register get 1 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_register(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_register" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_RESOURCE_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_RESOURCE_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_resource_register(NULL, NULL, 0, 0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_resource_register" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVL_RESOURCES_UNREGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVL_RESOURCES_UNREGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devl_resources_unregister(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devl_resources_unregister" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RESOURCES_UNREGISTER_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RESOURCES_UNREGISTER_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_resources_unregister(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_resources_unregister 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RESOURCES_UNREGISTER_1_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RESOURCES_UNREGISTER_1_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_resources_unregister(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_resources_unregister 1 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_ALLOC_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_ALLOC_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_alloc(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_alloc get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_SF_SET_GET_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_SF_SET_GET_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_sf_set(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_port_attrs_pci_sf_set get 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_SF_SET_GET_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_SF_SET_GET_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_sf_set(NULL, 0, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_port_attrs_pci_sf_set get 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_vf_set(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h devlink_port_attrs_pci_vf_set get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_vf_set(NULL, NULL, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_pci_vf_set has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_CONTROLLER_NUM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_VF_SET_GET_CONTROLLER_NUM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_vf_set(NULL, 1, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_pci_vf_set has 5 params and controller num" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_GET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_GET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_pf_set(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h devlink_port_attrs_pci_pf_set get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FMSG_BINARY_PAIR_NEST_START -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FMSG_BINARY_PAIR_NEST_START
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_fmsg_binary_pair_nest_start(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink.h has devlink_fmsg_binary_pair_nest_start is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FLASH_UPDATE_STATUS_NOTIFY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FLASH_UPDATE_STATUS_NOTIFY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_flash_update_status_notify(NULL, NULL, NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_flash_update_status_notify" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FLASH_UPDATE_END_NOTIFY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FLASH_UPDATE_END_NOTIFY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_flash_update_end_notify(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_flash_update_end_notify" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HEALTH_REPORTER_STATE_UPDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HEALTH_REPORTER_STATE_UPDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_health_reporter_state_update(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_health_reporter_state_update exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HEALTH_REPORTER_RECOVER_HAS_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HEALTH_REPORTER_RECOVER_HAS_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>
		static int reporter_recover(struct devlink_health_reporter *reporter,
						     void *context,
						     struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct devlink_health_reporter_ops mlx5_tx_reporter_ops = {
			.recover = reporter_recover
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_health_reporter_ops.recover has extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_SET_FUNCTION_POINTER_HAS_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_SET_FUNCTION_POINTER_HAS_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>
		static int param_set(struct devlink *devlink,
				     u32 id,
			             struct devlink_param_gset_ctx *ctx,
			             struct netlink_ext_ack *extack){ return 0;}

static int __maybe_unused test_func (void) {

		struct devlink_param dp = {
			.set = param_set,
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_param set function pointer has extack parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_DRIVERINIT_VAL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_DRIVERINIT_VAL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_param_driverinit_value_get(NULL, 0, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_param_driverinit_value_get exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int i = DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink enum has DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int i = DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink enum has HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_NEW_ATTRS_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_NEW_ATTRS_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port_new_attrs i;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink struct devlink_port_new_attrs exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATRRS_SET_GET_7_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATRRS_SET_GET_7_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_set(NULL, 0, 0, 0, 0, NULL ,0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_set has 7 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATRRS_SET_GET_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATRRS_SET_GET_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_set(NULL, 0, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_set has 5 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATRRS_SET_GET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATRRS_SET_GET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_set(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_set has 2 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int i = DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_param exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int i = DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_FN_STATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_FN_STATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <uapi/linux/devlink.h>

static int __maybe_unused test_func (void) {

                enum devlink_port_fn_state fn_state;
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum devlink_port_fn_state exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_FN_OPSTATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_FN_OPSTATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <uapi/linux/devlink.h>

static int __maybe_unused test_func (void) {

                enum devlink_port_fn_opstate fn_opstate;
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum devlink_port_fn_opstate exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_FLAVOUR_VIRTUAL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_FLAVOUR_VIRTUAL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <uapi/linux/devlink.h>

static int __maybe_unused test_func (void) {

                int i = DEVLINK_PORT_FLAVOUR_VIRTUAL;
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum DEVLINK_PORT_FLAVOUR_VIRTUAL is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_FLAVOUR_PCI_SF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_FLAVOUR_PCI_SF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <uapi/linux/devlink.h>

static int __maybe_unused test_func (void) {

                int i = DEVLINK_PORT_FLAVOUR_PCI_SF;
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum DEVLINK_PORT_FLAVOUR_PCI_SF is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RELOAD_DISABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RELOAD_DISABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_reload_disable(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_reload_disable exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RELOAD_ENABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RELOAD_ENABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_reload_enable(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_reload_enable exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_NET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_NET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_net(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_net exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_RELOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_RELOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	        #include <net/devlink.h>

	        static int devlink_reload(struct devlink *devlink,
	                                struct netlink_ext_ack *extack)
	        {
	                return 0;
	        }


static int __maybe_unused test_func (void) {

	        struct devlink_ops dlops = {
	                .reload = devlink_reload,
	        };

	        return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "reload is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_RELOAD_UP_DOWN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_RELOAD_UP_DOWN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.reload_up = NULL,
			.reload_down = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "reload_up/down is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PORT_FUNCTION_HW_ADDR_GET_GET_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PORT_FUNCTION_HW_ADDR_GET_GET_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>

		static int devlink_port_function_hw_addr_get(struct devlink_port *port, u8 *hw_addr,
							int *hw_addr_len,
							struct netlink_ext_ack *extack)
		{
		        return 0;
		}


static int __maybe_unused test_func (void) {

                struct devlink_ops dlops = {
                        .port_function_hw_addr_get = devlink_port_function_hw_addr_get,
		};

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_function_hw_addr_get has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PORT_FUNCTION_STATE_GET_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PORT_FUNCTION_STATE_GET_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>

               static int mlx5_devlink_sf_port_fn_state_get(struct devlink_port *dl_port,
                                                            enum devlink_port_fn_state *state,
                                                            enum devlink_port_fn_opstate *opstate,
                                                            struct netlink_ext_ack *extack)
               {
                       return 0;
               }


static int __maybe_unused test_func (void) {

                struct devlink_ops dlops = {
                       .port_fn_state_get = mlx5_devlink_sf_port_fn_state_get,
               };

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_function_state_get has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_PORT_FUNCTION_STATE_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_PORT_FUNCTION_STATE_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

               #include <net/devlink.h>

static int __maybe_unused test_func (void) {

               struct devlink_ops dlops = {
                       .port_fn_state_get = NULL,
                       .port_fn_state_set = NULL,
               };

               return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_function_state_get/set is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RELOAD_DOWN_HAS_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RELOAD_DOWN_HAS_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>

		static int devlink_reload_down(struct devlink *devlink, bool netns_change,
                                    struct netlink_ext_ack *extack)
		{
		        return 0;
		}


static int __maybe_unused test_func (void) {

                struct devlink_ops dlops = {
                        .reload_down = devlink_reload_down,
		};

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "reload_down has 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_RELOAD_DOWN_SUPPORT_RELOAD_ACTION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_RELOAD_DOWN_SUPPORT_RELOAD_ACTION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/devlink.h>

		static int devlink_reload_down(struct devlink *devlink, bool netns_change,
				enum devlink_reload_action action, enum devlink_reload_limit limit,
                		struct netlink_ext_ack *extack)
		{
		        return 0;
		}


static int __maybe_unused test_func (void) {

                struct devlink_ops dlops = {
                        .reload_down = devlink_reload_down,
		};

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "reload_down has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port_ops dlops = {
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_port_ops exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_INFO_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_INFO_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.info_get = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "info_get is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_SUPPORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_SUPPORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_trap t;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink struct devlink_trap exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_DMAC_FILTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_DMAC_FILTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		int n = DEVLINK_TRAP_GENERIC_ID_DMAC_FILTER;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink has DEVLINK_TRAP_GENERIC_ID_DMAC_FILTER" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_ACTION_SET_4_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_ACTION_SET_4_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

		static int mlx5_devlink_trap_action_set(struct devlink *devlink,
							const struct devlink_trap *trap,
							enum devlink_trap_action action,
							struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.trap_action_set = mlx5_devlink_trap_action_set,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_ops.trap_action_set has 4 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_REPORT_5_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_REPORT_5_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_trap_report(NULL, NULL, NULL, NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_trap_report has 5 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_GROUP_GENERIC_2_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_GROUP_GENERIC_2_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		static const struct devlink_trap_group mlx5_trap_groups_arr[] = {
			DEVLINK_TRAP_GROUP_GENERIC(L2_DROPS, 0),
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink has DEVLINK_TRAP_GROUP_GENERIC with 2 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_TRAP_GROUPS_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_TRAP_GROUPS_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_trap_groups_register(NULL, NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink has devlink_trap_groups_register" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_HEALTH_REPORTER_CREATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_HEALTH_REPORTER_CREATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_health_reporter *r;

		r = devlink_port_health_reporter_create(NULL, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_health_reporter_create is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_HEALTH_REPORTER_DESTROY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_HEALTH_REPORTER_DESTROY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_health_reporter_destroy(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_health_reporter_destroy is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HEALTH_REPORTER_CREATE_5_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HEALTH_REPORTER_CREATE_5_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_health_reporter *r;

		r = devlink_health_reporter_create(NULL, NULL, 0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_health_reporter_create has 5 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HEALTH_REPORTER_CREATE_4_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HEALTH_REPORTER_CREATE_4_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_health_reporter *r;

		r = devlink_health_reporter_create(NULL, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_health_reporter_create has 4 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HEALTH_REPORT_BASE_SUPPORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HEALTH_REPORT_BASE_SUPPORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		/* test for devlink_health_reporter and devlink_fmsg */
		struct devlink_health_reporter *r;
		struct devlink_fmsg *fmsg;
		int err;

		devlink_health_reporter_destroy(r);
		devlink_health_reporter_priv(r);

		err = devlink_health_report(r, NULL, NULL);

		devlink_fmsg_arr_pair_nest_start(fmsg, "name");
		devlink_fmsg_arr_pair_nest_end(fmsg);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "structs devlink_health_reporter & devlink_fmsg exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FMSG_BINARY_PUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FMSG_BINARY_PUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_fmsg *fmsg;
		int err;
		int value;

		err =  devlink_fmsg_binary_put(fmsg, &value, 2);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_fmsg_binary_put exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FMSG_BINARY_PAIR_PUT_ARG_U32_RETURN_INT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FMSG_BINARY_PAIR_PUT_ARG_U32_RETURN_INT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

		/* Only interested in function with arg u32 and not u16 */
		/* See upstream commit e2cde864a1d3e3626bfc8fa088fbc82b04ce66ed */
		int devlink_fmsg_binary_pair_put(struct devlink_fmsg *fmsg, const char *name, const void *value, u32 value_len);

static int __maybe_unused test_func (void) {

		struct devlink_fmsg *fmsg;
		int err;
		int value;

		err =  devlink_fmsg_binary_pair_put(fmsg, "name", &value, 2);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_fmsg_binary_pair_put exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FMSG_BINARY_PAIR_PUT_ARG_U32_RETURN_VOID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FMSG_BINARY_PAIR_PUT_ARG_U32_RETURN_VOID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

		/* Only interested in function with arg u32 and not u16 */
		/* See upstream commit e2cde864a1d3e3626bfc8fa088fbc82b04ce66ed */
		void devlink_fmsg_binary_pair_put(struct devlink_fmsg *fmsg, const char *name, const void *value, u32 value_len);

static int __maybe_unused test_func (void) {

		struct devlink_fmsg *fmsg;
		int value;

		devlink_fmsg_binary_pair_put(fmsg, "name", &value, 2);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_fmsg_binary_pair_put exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_ESWITCH_MODE_SET_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_ESWITCH_MODE_SET_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>
		int mlx5_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,
		                                struct netlink_ext_ack *extack);
		int mlx5_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,
		                                struct netlink_ext_ack *extack) {
			return 0;
		}

static int __maybe_unused test_func (void) {

		static const struct devlink_ops dlops = {
			.eswitch_mode_set = mlx5_devlink_eswitch_mode_set,
		};
		dlops.eswitch_mode_set(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_ops.eswitch_mode_set has extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_PORT_FN_ROCE_MIG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_PORT_FN_ROCE_MIG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.port_fn_migratable_get = NULL,
			.port_fn_migratable_set = NULL,
			.port_fn_roce_get = NULL,
			.port_fn_roce_set = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_function_roce/mig_get/set is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_PORT_FUNCTION_HW_ADDR_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_PORT_FUNCTION_HW_ADDR_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.port_function_hw_addr_get = NULL,
			.port_function_hw_addr_set = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "port_function_hw_addr_get/set is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_RATE_FUNCTIONS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_RATE_FUNCTIONS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.rate_leaf_tx_share_set = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rate functions are defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_ESWITCH_ENCAP_MODE_SET_GET_WITH_ENUM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_ESWITCH_ENCAP_MODE_SET_GET_WITH_ENUM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>
		#include <uapi/linux/devlink.h>

static int __maybe_unused test_func (void) {

		int local_eswitch_encap_mode_get(struct devlink *devlink,
					      enum devlink_eswitch_encap_mode *p_encap_mode) {
			return 0;
		}
		int local_eswitch_encap_mode_set(struct devlink *devlink,
					      enum devlink_eswitch_encap_mode encap_mode,
					      struct netlink_ext_ack *extack) {
			return 0;
		}

		struct devlink_ops dlops = {
			.eswitch_encap_mode_set = local_eswitch_encap_mode_set,
			.eswitch_encap_mode_get = local_eswitch_encap_mode_get,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "eswitch_encap_mode_set/get is defined with enum" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_HAS_FLASH_UPDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_HAS_FLASH_UPDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.flash_update = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flash_update is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLASH_UPDATE_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLASH_UPDATE_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>
		#include <linux/netlink.h>

		static int flash_update_func(struct devlink *devlink,
			    struct devlink_flash_update_params *params,
			    struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct devlink_ops dlops = {
			.flash_update = flash_update_func,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_ops flash_update get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_pf_set(NULL, NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_pci_pf_set has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_CONTROLLER_NUM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_CONTROLLER_NUM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_pf_set(NULL, 1, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_pci_pf_set has 4 params and controller num" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_ATTRS_PCI_PF_SET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_port_attrs_pci_pf_set(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_port_attrs_pci_pf_set has 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_FLASH_UPDATE_PARAMS_HAS_STRUCT_FW -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_FLASH_UPDATE_PARAMS_HAS_STRUCT_FW
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_flash_update_params *x;
		x->fw = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devlink_flash_update_params has struct firmware fw" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_CARRIER_EVENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_CARRIER_EVENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netif_carrier_event(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_carrier_event exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_DEVICE_PRESENT_GET_CONST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_DEVICE_PRESENT_GET_CONST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		const struct net_device *dev;
		netif_device_present(dev);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_device_present get const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_HAS_SWITCH_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_HAS_SWITCH_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port *port;

		port->attrs.switch_port = true;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_port has attrs.switch_port" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_HAS_SWITCH_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_HAS_SWITCH_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port *port;

		port->attrs.switch_id.id_len = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_port has attrs.switch_id" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_DEVICE_HAS_DEVLINK_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_DEVICE_HAS_DEVLINK_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device *dev;

		dev->devlink_port = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has devlink_port" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_DEVICE_LOWER_LEVEL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_DEVICE_LOWER_LEVEL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device dev;

		dev.lower_level = 1;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has lower_level" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_LAG_HASH_VLAN_SRCMAC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_LAG_HASH_VLAN_SRCMAC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		int x = NETDEV_LAG_HASH_VLAN_SRCMAC;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdev_lag_hash has NETDEV_LAG_HASH_VLAN_SRCMAC" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_LINK_KSETTINGS_HAS_LANES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_LINK_KSETTINGS_HAS_LANES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                struct ethtool_link_ksettings x = {
			.lanes = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool_link_ksettings has lanes" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KERNEL_RINGPARAM_TCP_DATA_SPLIT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KERNEL_RINGPARAM_TCP_DATA_SPLIT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                struct kernel_ethtool_ringparam x = {
			.tcp_data_split = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool.h kernel_ethtool_ringparam has tcp_data_split member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_KERNEL_ETHTOOL_RINGPARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_KERNEL_ETHTOOL_RINGPARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                struct kernel_ethtool_ringparam x;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool.h has struct kernel_ethtool_ringparam" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_KERNEL_ETHTOOL_TS_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_KERNEL_ETHTOOL_TS_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                struct kernel_ethtool_ts_info x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool.h has struct kernel_ethtool_ts_info" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_PUTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_PUTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                ethtool_puts(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool.h has ethtool_puts" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CAP_RSS_SYM_XOR_SUPPORTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CAP_RSS_SYM_XOR_SUPPORTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.cap_rss_sym_xor_supported = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "cap_rss_sym_xor_supported is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_OPS_HAS_PER_CTX_KEY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_OPS_HAS_PER_CTX_KEY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.rxfh_per_ctx_key = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rxfh_per_ctx_key is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SUPPORTED_COALESCE_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SUPPORTED_COALESCE_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.supported_coalesce_params = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "supported_coalesce_params is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_MODULE_EEPROM_BY_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_MODULE_EEPROM_BY_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.get_module_eeprom_by_page = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool_ops has get_module_eeprom_by_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_IS_SKB_TX_DEVICE_OFFLOADED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_IS_SKB_TX_DEVICE_OFFLOADED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		tls_is_skb_tx_device_offloaded(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tls.h has tls_is_skb_tx_device_offloaded" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_OFFLOAD_RESYNC_ASYNC_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_OFFLOAD_RESYNC_ASYNC_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		struct tls_offload_resync_async	x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tls.h has struct tls_offload_resync_async is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KTLS_STRUCTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KTLS_STRUCTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		struct tlsdev_ops dev;
		struct tls_offload_context_tx tx_ctx;
		struct tls12_crypto_info_aes_gcm_128 crypto_info;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ktls related structs exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLSDEV_OPS_HAS_TLS_DEV_RESYNC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLSDEV_OPS_HAS_TLS_DEV_RESYNC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		struct tlsdev_ops dev;

		dev.tls_dev_resync = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tlsdev_ops has tls_dev_resync" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_FRAG_FILL_PAGE_DESC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_FRAG_FILL_PAGE_DESC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_frag_fill_page_desc(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h skb_frag_fill_page_desc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NAPI_BUILD_SKB -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NAPI_BUILD_SKB
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		napi_build_skb(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h napi_build_skb is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_IS_GSO_TCP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_IS_GSO_TCP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_is_gso_tcp(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h skb_is_gso_tcp is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_FRAG_OFF_ADD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_FRAG_OFF_ADD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_frag_off_add(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h skb_frag_off_add is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_FRAG_OFF_SET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_FRAG_OFF_SET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_frag_off_set(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h skb_frag_off_set is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TIMER_DELETE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TIMER_DELETE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		timer_delete(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "timer_delete exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NAPI_RESCHEDULE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NAPI_RESCHEDULE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		int ret;

		ret = napi_reschedule(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "napi_reschedule exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_NETNS_LOCAL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_NETNS_LOCAL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device netdev = {
			.netns_local = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has netns_local as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_NETNS_IMMUTABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_NETNS_IMMUTABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device netdev = {
			.netns_immutable = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has netns_local as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_DEVLINK_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_DEVLINK_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device netdev = {
			.devlink_port = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct net_device has devlink_port as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_PORT_DEL_IN_DEVLINK_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_PORT_DEL_IN_DEVLINK_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		static const struct devlink_port_ops ops= {
			.port_del = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct ndevlink_port_ops has devlink_port as member" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_NDO_XSK_WAKEUP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_XSK_WAKEUP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops = {
			.ndo_xsk_wakeup = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_xsk_wakeup is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENUM_TC_HTB_COMMAND -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENUM_TC_HTB_COMMAND
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		enum tc_htb_command x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum tc_htb_command is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_HTB_OPT_PRIO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_HTB_OPT_PRIO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_htb_qopt_offload x;

		x.prio = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_htb_qopt_offload has prio" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_HTB_OPT_QUANTUM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_HTB_OPT_QUANTUM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_htb_qopt_offload x;

		x.quantum = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_htb_qopt_offload has quantum" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_FLOWER_OFFLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_FLOWER_OFFLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_cls_flower_offload x;
		x = x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_cls_flower_offload is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_BLOCK_OFFLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_BLOCK_OFFLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_block_offload x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_block_offload is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_BLOCK_OFFLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_BLOCK_OFFLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct flow_block_offload x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_block_offload exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UNLOCKED_DRIVER_CB -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UNLOCKED_DRIVER_CB
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct flow_block_offload x;
		x.unlocked_driver_cb = true;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_block_offload has unlocked_driver_cb" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NL_ASSERT_CTX_FITS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NL_ASSERT_CTX_FITS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netlink.h>

static int __maybe_unused test_func (void) {


		NL_ASSERT_CTX_FITS(int);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NL_ASSERT_CTX_FITS exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NL_SET_ERR_MSG_WEAK_MOD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NL_SET_ERR_MSG_WEAK_MOD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netlink.h>


static int __maybe_unused test_func (void) {

		#ifdef NL_SET_ERR_MSG_WEAK_MOD
			return 0;
		#else
			#return 1
		#endif
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NL_SET_ERR_MSG_WEAK_MOD exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NL_SET_ERR_MSG_FMT_MOD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NL_SET_ERR_MSG_FMT_MOD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netlink.h>

static int __maybe_unused test_func (void) {

		struct netlink_ext_ack extack = {};

		NL_SET_ERR_MSG_FMT_MOD(&extack, "test");
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/netlink.h provides NL_SET_ERR_MSG_FMT_MOD" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_BLOCK_OFFLOAD_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_BLOCK_OFFLOAD_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_block_offload x;
		x.extack = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_block_offload has extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_MQPRIO_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_MQPRIO_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_sched.h>

static int __maybe_unused test_func (void) {

		struct tc_mqprio_qopt_offload x;
		x.extack = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_mqprio_qopt_offload has extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GETTIMEX64 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GETTIMEX64
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		struct ptp_clock_info info = {
			.gettimex64 = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "gettimex64 is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PTP_CLOCK_INFO_NDO_GETMAXPHASE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PTP_CLOCK_INFO_NDO_GETMAXPHASE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		struct ptp_clock_info info = {
			.getmaxphase = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct ptp_clock_info has getmaxphase" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PTP_CLOCK_INFO_NDO_ADJFREQ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PTP_CLOCK_INFO_NDO_ADJFREQ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		struct ptp_clock_info info = {
			.adjfreq = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "adjfreq is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PTP_CLOCK_INFO_ADJPHASE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PTP_CLOCK_INFO_ADJPHASE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		struct ptp_clock_info info = {
			.adjphase = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "adjphase is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ADJUST_BY_SCALED_PPM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ADJUST_BY_SCALED_PPM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		adjust_by_scaled_ppm(0,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "adjfine is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_VPD_FIND_TAG_GET_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_VPD_FIND_TAG_GET_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_vpd_find_tag(NULL , 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_dev has pci_vpd_find_tag get 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_VPD_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_VPD_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_vpd_alloc(NULL ,NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_dev has pci_vpd_alloc" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_DEV_LINK_ACTIVE_REPORTING -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_DEV_LINK_ACTIVE_REPORTING
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		struct pci_dev *bridge;
		bridge->link_active_reporting = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_dev has link_active_reporting" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_IOV_VF_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_IOV_VF_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_iov_vf_id(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_iov_vf_id is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_IOV_GET_PF_DRVDATA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_IOV_GET_PF_DRVDATA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_iov_get_pf_drvdata(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_iov_get_pf_drvdata is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_WANT_INIT_ON_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_WANT_INIT_ON_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		bool x = want_init_on_alloc(__GFP_ZERO);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "want_init_on_alloc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_DMA_ADDR_ARRAY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_DMA_ADDR_ARRAY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>

static int __maybe_unused test_func (void) {

		struct page page;

		page.dma_addr[0] = 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct page has dma_addr array member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_FRAG_OFF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_FRAG_OFF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_frag_off(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "skb_frag_off is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEV_PAGE_IS_REUSABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEV_PAGE_IS_REUSABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		dev_page_is_reusable(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dev_page_is_reusable is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SKB_EXT_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SKB_EXT_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>
		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct sk_buff skb;

		tc_skb_ext_alloc(&skb);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_skb_ext_alloc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEV_CHANGE_FLAGS_HAS_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEV_CHANGE_FLAGS_HAS_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		dev_change_flags(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dev_change_flags has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_USER_ACCESS_BEGIN_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_USER_ACCESS_BEGIN_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uaccess.h>

static int __maybe_unused test_func (void) {

		size_t size = 0;
		const void __user *from = NULL;

		if (!user_access_begin(from, size))
			return 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "user_access_begin has 2 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_USER_ACCESS_BEGIN_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_USER_ACCESS_BEGIN_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uaccess.h>

static int __maybe_unused test_func (void) {

		size_t size = 0;
		const void __user *from = NULL;

		if (!user_access_begin(VERIFY_READ, from, size))
			return 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "user_access_begin has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ACCESS_OK_HAS_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ACCESS_OK_HAS_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uaccess.h>

static int __maybe_unused test_func (void) {

		access_ok(0, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "access_ok has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CHECK_ZEROED_USER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CHECK_ZEROED_USER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uaccess.h>

static int __maybe_unused test_func (void) {

		int ret;

		ret = check_zeroed_user(NULL,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "access_ok has check_zeroed_user" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PUT_USER_PAGES_DIRTY_LOCK_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PUT_USER_PAGES_DIRTY_LOCK_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		put_user_pages_dirty_lock(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "put_user_pages_dirty_lock has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PUT_USER_PAGES_DIRTY_LOCK_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PUT_USER_PAGES_DIRTY_LOCK_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		put_user_pages_dirty_lock(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "put_user_pages_dirty_lock has 2 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_DISSECTOR_MPLS_LSE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_DISSECTOR_MPLS_LSE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		struct flow_dissector_mpls_lse ls;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_dissector.h has struct flow_dissector_mpls_lse" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_DISSECTOR_USED_KEYS_ULL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_DISSECTOR_USED_KEYS_ULL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		struct flow_dissector *fd;
		_Static_assert(__builtin_types_compatible_p(typeof(fd->used_keys), unsigned long long),
               "");
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_dissector has unsigned long long used_keys" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/switchdev.h>

static int __maybe_unused test_func (void) {

		enum switchdev_attr_id x = SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum switchdev_attr_id has SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SWITCHDEV_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SWITCHDEV_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/switchdev.h>
		#include <linux/netdevice.h>

		/* Declare here to avoid dandling pointer error */
		static struct switchdev_ops x;

static int __maybe_unused test_func (void) {

		struct net_device *ndev;

		ndev->switchdev_ops = &x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "HAVE_SWITCHDEV_OPS is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_SWITCHDEV_OBJ_PORT_VLAN_VID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_SWITCHDEV_OBJ_PORT_VLAN_VID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/switchdev.h>

static int __maybe_unused test_func (void) {

		struct switchdev_obj_port_vlan x;
		x.vid = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct switchdev_obj_port_vlan has vid" > "$MLNX_RDMA_MODULES_DIR/desc"


	if false; then

$as_echo "#define HAVE_STRUCT_SWITCHDEV_BRPORT_FLAGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_SWITCHDEV_BRPORT_FLAGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/switchdev.h>

static int __maybe_unused test_func (void) {

		struct switchdev_brport_flags x;
		x.mask = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct switchdev_brport_flags exist" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_SWITCHDEV_PORT_SAME_PARENT_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SWITCHDEV_PORT_SAME_PARENT_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/switchdev.h>

static int __maybe_unused test_func (void) {

		switchdev_port_same_parent_id(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "switchdev_port_same_parent_id is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SK_BUFF_XMIT_MORE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SK_BUFF_XMIT_MORE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		struct sk_buff *skb;
		skb->xmit_more = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xmit_more is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_DEV_OFFLOAD_FLAG_ACQ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_DEV_OFFLOAD_FLAG_ACQ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_dev_offload x = {
                        .flags = XFRM_DEV_OFFLOAD_FLAG_ACQ,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_dev_offload has flags" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_DEV_REAL_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_DEV_REAL_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_dev_offload x = {
                        .real_dev = NULL,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_dev_offload has real_dev as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_STATE_DIR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_STATE_DIR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_state_offload x = {
                        .dir = 0,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_dev_offload has state as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_DEV_DIR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_DEV_DIR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_dev_offload x = {
                        .dir = 0,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_dev_offload has dir as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_DEV_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_DEV_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_dev_offload x = {
                        .type = 0,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_dev_offload has type as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_STATE_REAL_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_STATE_REAL_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_state_offload x = {
                        .real_dev = NULL,
                };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xfrm_state_offload has real_dev as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SECPATH_SET_RETURN_POINTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SECPATH_SET_RETURN_POINTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct sec_path *temp = secpath_set(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if secpath_set returns struct sec_path *" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETH_GET_HEADLEN_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETH_GET_HEADLEN_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/etherdevice.h>

static int __maybe_unused test_func (void) {

		eth_get_headlen(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "eth_get_headlen is defined with 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETH_GET_HEADLEN_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETH_GET_HEADLEN_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/etherdevice.h>

static int __maybe_unused test_func (void) {

		eth_get_headlen(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "eth_get_headlen is defined with 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VLAN_GET_ENCAP_LEVEL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VLAN_GET_ENCAP_LEVEL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/if_vlan.h>

static int __maybe_unused test_func (void) {

		vlan_get_encap_level(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "vlan_get_encap_level is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VLAN_ETHHDR_HAS_ADDRS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VLAN_ETHHDR_HAS_ADDRS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/if_vlan.h>

static int __maybe_unused test_func (void) {

		struct vlan_ethhdr vhdr = {
			.addrs = {(0)},
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct vlan_ethhdr has addrs member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_SELECT_QUEUE_HAS_3_PARMS_NO_FALLBACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_SELECT_QUEUE_HAS_3_PARMS_NO_FALLBACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		static u16 select_queue(struct net_device *dev, struct sk_buff *skb,
				        struct net_device *sb_dev);
		static u16 select_queue(struct net_device *dev, struct sk_buff *skb,
				        struct net_device *sb_dev)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops ndops = {
			.ndo_select_queue = select_queue,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_select_queue has 3 params with no fallback" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SELECT_QUEUE_NET_DEVICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SELECT_QUEUE_NET_DEVICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		static u16 select_queue(struct net_device *dev, struct sk_buff *skb,
		                        struct net_device *sb_dev,
		                        select_queue_fallback_t fallback);
		static u16 select_queue(struct net_device *dev, struct sk_buff *skb,
		                        struct net_device *sb_dev,
		                        select_queue_fallback_t fallback)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops ndops = {
			.ndo_select_queue = select_queue,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_select_queue has a second net_device parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CLEANUP_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CLEANUP_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/cleanup.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/cleanup.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CONTAINER_OF_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CONTAINER_OF_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/container_of.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/container_of.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PANIC_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PANIC_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/panic.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/panic.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BITS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BITS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bits.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/bits.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_ALLOC_NS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_ALLOC_NS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		devlink_alloc_ns(NULL, 0, NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/net/devlink.h devlink_alloc_ns defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_DISSECTOR_KEY_VLAN_ETH_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_DISSECTOR_KEY_VLAN_ETH_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		struct flow_dissector_key_vlan vlan;

		vlan.vlan_eth_type = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_dissector_key_vlan has vlan_eth_type" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_MATCH_META_L2_MISS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_MATCH_META_L2_MISS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		struct flow_dissector_key_meta key;

		key.l2_miss = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_dissector_key_meta has l2_miss" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_CONTINUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_CONTINUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_CONTINUE;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_CONTINUE exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_JUMP_AND_PIPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_JUMP_AND_PIPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_JUMP;
		enum flow_action_id action2 = FLOW_ACTION_PIPE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_JUMP and PIPE exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_PRIORITY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_PRIORITY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_PRIORITY;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_PRIORITY exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_VLAN_PUSH_ETH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_VLAN_PUSH_ETH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_VLAN_PUSH_ETH;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_VLAN_PUSH_ETH exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_OFFLOAD_ACTION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_OFFLOAD_ACTION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_offload_action act = {};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "HAVE_FLOW_OFFLOAD_ACTION exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_OFFLOAD_ACTION_LAST_ENTRY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_OFFLOAD_ACTION_LAST_ENTRY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_action_is_last_entry(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function flow_action_is_last_entry exists" > "$MLNX_RDMA_MODULES_DIR/desc"


	if false; then

$as_echo "#define HAVE_FLOW_RULE_MATCH_CT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_RULE_MATCH_CT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_rule_match_ct(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_rule_match_ct exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_OFFLOAD_HAS_ONE_ACTION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_OFFLOAD_HAS_ONE_ACTION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action action;

		flow_offload_has_one_action(&action);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_offload_has_one_action exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_CB_ADD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_CB_ADD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tc_setup_cb_add(NULL, NULL, 0, NULL ,0 ,NULL, NULL ,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_cb_add is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_FLOW_ACTION_FUNC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_FLOW_ACTION_FUNC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tc_setup_flow_action(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_flow_action is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_OFFLOAD_ACTION_FUNC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_OFFLOAD_ACTION_FUNC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tc_setup_offload_action(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_offload_action is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_OFFLOAD_ACTION_FUNC_HAS_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_OFFLOAD_ACTION_FUNC_HAS_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tc_setup_offload_action(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_offload_action is defined and get 3 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_FLOW_ACTION_WITH_RTNL_HELD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_FLOW_ACTION_WITH_RTNL_HELD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tc_setup_flow_action(NULL, NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_flow_action has rtnl_held" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___TC_INDR_BLOCK_CB_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___TC_INDR_BLOCK_CB_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		__tc_indr_block_cb_register(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__tc_indr_block_cb_register is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_CLSMATCHALL_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_CLSMATCHALL_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		enum tc_matchall_command x = TC_CLSMATCHALL_STATS;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "TC_CLSMATCHALL_STATS is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___FLOW_INDR_BLOCK_CB_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___FLOW_INDR_BLOCK_CB_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		__flow_indr_block_cb_register(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__flow_indr_block_cb_register is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_CLS_OFFLOAD_FLOW_RULE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_CLS_OFFLOAD_FLOW_RULE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_cls_offload_flow_rule(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_cls_offload_flow_rule is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_BLOCK_CB_SETUP_SIMPLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_BLOCK_CB_SETUP_SIMPLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_block_cb_setup_simple(NULL, NULL, NULL, NULL, NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_block_cb_setup_simple is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_BLOCK_CB_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_BLOCK_CB_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_block_cb_alloc(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_block_cb_alloc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_SETUP_CB_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_SETUP_CB_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_setup_cb_t *cb = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_setup_cb_t is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IPV6_STUBS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IPV6_STUBS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/ipv6_stubs.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/ipv6_stubs.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

              #include <net/rps.h>

static int __maybe_unused test_func (void) {

              return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/rps.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_ETH_IOCTL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_ETH_IOCTL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops = {
			.ndo_eth_ioctl = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net_device_ops has ndo_eth_ioctl is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_GET_PORT_PARENT_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_GET_PORT_PARENT_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		int get_port_parent_id(struct net_device *dev,
				       struct netdev_phys_item_id *ppid);
		int get_port_parent_id(struct net_device *dev,
				       struct netdev_phys_item_id *ppid)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops;

		netdev_ops.ndo_get_port_parent_id = get_port_parent_id;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "HAVE_NDO_GET_PORT_PARENT_ID is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_NESTED_PRIV_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_NESTED_PRIV_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct netdev_nested_priv x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdevice.h has struct netdev_nested_priv" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEV_GET_PORT_PARENT_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEV_GET_PORT_PARENT_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        #include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

                dev_get_port_parent_id(NULL, NULL, 0);
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function dev_get_port_parent_id exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEV_ADDR_MOD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEV_ADDR_MOD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        #include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

                dev_addr_mod(NULL, 0, NULL, 0);
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function dev_addr_mod exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_GET_XMIT_SLAVE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_GET_XMIT_SLAVE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        #include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

                netdev_get_xmit_slave(NULL, NULL, 0);
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function netdev_get_xmit_slave exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_LAG_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_LAG_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/lag.h>

static int __maybe_unused test_func (void) {

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/lag.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_LAG_PORT_DEV_TXABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_LAG_PORT_DEV_TXABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <net/lag.h>

static int __maybe_unused test_func (void) {

		net_lag_port_dev_txable(NULL);

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/lag.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_RINGPARAM_GET_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_RINGPARAM_GET_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

		static void ipoib_get_ringparam(struct net_device *dev,
                                 struct ethtool_ringparam *param,
                                 struct kernel_ethtool_ringparam *kernel_param,
                                 struct netlink_ext_ack *extack)
		{
			return;
		}

static int __maybe_unused test_func (void) {

		struct ethtool_ops ipoib_ethtool_ops  = {
			.get_ringparam = ipoib_get_ringparam,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_get_ringparam get 4 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_GET_COALESCE_GET_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_GET_COALESCE_GET_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

		static int ipoib_get_coalesce(struct net_device *dev,
			struct ethtool_coalesce *coal,
			struct kernel_ethtool_coalesce *kernel_coal,
			struct netlink_ext_ack *extack);
		static int ipoib_get_coalesce(struct net_device *dev,
			struct ethtool_coalesce *coal,
			struct kernel_ethtool_coalesce *kernel_coal,
			struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct ethtool_ops ipoib_ethtool_ops  = {
			.get_coalesce = ipoib_get_coalesce,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_get_coalesce get 4 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_PAUSE_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_PAUSE_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.get_pause_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_pause_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_LINK_EXT_STATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_LINK_EXT_STATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

                const struct ethtool_ops en_ethtool_ops = {
                        .get_link_ext_state = NULL,
                };

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo ".get_link_ext_state is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_OFFLOAD_RX_RESYNC_ASYNC_REQUEST_START -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_OFFLOAD_RX_RESYNC_ASYNC_REQUEST_START
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		tls_offload_rx_resync_async_request_start(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tls.h has tls_offload_rx_resync_async_request_start" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_50G_PER_LANE_LINK_MODES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_50G_PER_LANE_LINK_MODES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

              #include <uapi/linux/ethtool.h>

static int __maybe_unused test_func (void) {

              const enum ethtool_link_mode_bit_indices speeds[] = {
		ETHTOOL_LINK_MODE_50000baseKR_Full_BIT,
		ETHTOOL_LINK_MODE_50000baseSR_Full_BIT,
		ETHTOOL_LINK_MODE_50000baseCR_Full_BIT,
		ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT,
		ETHTOOL_LINK_MODE_50000baseDR_Full_BIT,
		ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT,
		ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT,
		ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT,
		ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT,
		ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT,
		ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT,
		ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT,
		ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT,
		ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT,
		ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT,
		};

              return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool supprts 50G-pre-lane link modes" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GET_RXFH_CONTEXT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GET_RXFH_CONTEXT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.get_rxfh_context = NULL,
			.set_rxfh_context = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get/set_rxfh_context is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CORE_TRACKS_CUSTOM_RSS_CONTEXTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CORE_TRACKS_CUSTOM_RSS_CONTEXTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>
		#include <linux/mutex.h>

static int __maybe_unused test_func (void) {

		const struct ethtool_ops en_ethtool_ops = {
			.modify_rxfh_context = NULL,
			.create_rxfh_context = NULL,
			.remove_rxfh_context = NULL,
		};

		DEFINE_MUTEX(_mutex);
		struct ethtool_netdev_state ens = {
			.rss_lock = _mutex,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.11 'core tracks custom RSS contexts set'" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RSS_KEY_PER_CONTEXT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RSS_KEY_PER_CONTEXT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_ops en_ethtool_ops = {0};
		en_ethtool_ops.rxfh_per_ctx_key = 1;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.12 'setting different RSS key for each additional context'" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_NETLINK_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_NETLINK_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool_netlink.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/ethtool_netlink.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_MSIX_CAN_ALLOC_DYN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_MSIX_CAN_ALLOC_DYN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		bool ret;

		ret = pci_msix_can_alloc_dyn(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci.h has pci_msix_can_alloc_dyn" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IRQ_CPU_RMAP_REMOVE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IRQ_CPU_RMAP_REMOVE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/cpu_rmap.h>

static int __maybe_unused test_func (void) {

		int ret;

		ret = irq_cpu_rmap_remove(NULL,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "cpu_rmap.h has irq_cpu_rmap_remove" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IRQ_GET_EFFECTIVE_AFFINITY_MASK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IRQ_GET_EFFECTIVE_AFFINITY_MASK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/irq.h>
		#include <linux/cpumask.h>

static int __maybe_unused test_func (void) {

		irq_get_effective_affinity_mask(0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "irq_get_effective_affinity_mask is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_CLS_FLOWER_OFFLOAD_HAS_STATS_FIELD_FIX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_CLS_FLOWER_OFFLOAD_HAS_STATS_FIELD_FIX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_cls_flower_offload *f;
		struct flow_stats stats;

		f->stats = stats;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_cls_flower_offload has stats field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FOR_IFA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FOR_IFA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/inetdevice.h>

static int __maybe_unused test_func (void) {

		struct in_device *in_dev;

		for_ifa(in_dev) {
		}

		endfor_ifa(in_dev);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "for_ifa defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_PORT_SAME_PARENT_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_PORT_SAME_PARENT_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netdev_port_same_parent_id(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdev_port_same_parent_id is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_F_HW_TLS_RX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_F_HW_TLS_RX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdev_features.h>

static int __maybe_unused test_func (void) {

		netdev_features_t tls_rx = NETIF_F_HW_TLS_RX;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NETIF_F_HW_TLS_RX is defined in netdev_features.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_OFFLOAD_DESTRUCT_WORK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_OFFLOAD_DESTRUCT_WORK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		struct tls_offload_context_tx tls_ctx_tx;
		memset(&tls_ctx_tx.destruct_work, 0, sizeof(struct work_struct));

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tls_offload_context_tx has destruct_work as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_UDP_TUNNEL_ADD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_UDP_TUNNEL_ADD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		#if IS_ENABLED(CONFIG_VXLAN)
		void add_vxlan_port(struct net_device *dev, struct udp_tunnel_info *ti);
		void add_vxlan_port(struct net_device *dev, struct udp_tunnel_info *ti)
		{
			return;
		}
		#endif


static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops;
		netdev_ops.ndo_udp_tunnel_add = add_vxlan_port;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_add_vxlan_port is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IPV6_DST_LOOKUP_FLOW -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IPV6_DST_LOOKUP_FLOW
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/addrconf.h>
		#include <net/ipv6_stubs.h>

static int __maybe_unused test_func (void) {

		ipv6_stub->ipv6_dst_lookup_flow(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if ipv6_stub has ipv6_dst_lookup_flow" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IPV6_DST_LOOKUP_FLOW_ADDR_CONF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IPV6_DST_LOOKUP_FLOW_ADDR_CONF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/addrconf.h>

static int __maybe_unused test_func (void) {

		ipv6_stub->ipv6_dst_lookup_flow(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if ipv6_stub has ipv6_dst_lookup_flow in addrconf.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_REQ_ATTR_CHECK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_REQ_ATTR_CHECK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		#ifdef GENL_REQ_ATTR_CHECK
			return 0;
		#else
			#return 1;
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "HAVE_GENL_REQ_ATTR_CHECK defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_POLICY_BITFIELD32 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_POLICY_BITFIELD32
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		#ifdef NLA_POLICY_BITFIELD32
			return 0;
		#else
			#return 1;
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NLA_POLICY_BITFIELD32 defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_POLICY_NESTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_POLICY_NESTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>
		#
		static const struct nla_policy dpll_pin_get_dump_nl_policy[1 + 1] = {
		    [1] = { .type = NLA_U32 },
		};

		static const struct nla_policy my_nested_policy[] = {
		    [0] = NLA_POLICY_NESTED(dpll_pin_get_dump_nl_policy),
		};


static int __maybe_unused test_func (void) {

		#ifdef NLA_POLICY_NESTED
			return 0;
		#else
			#return 1;
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NLA_POLICY_NESTED defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_POLICY_HAS_VALIDATION_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_POLICY_HAS_VALIDATION_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		struct nla_policy x;
		x.validation_type = NLA_VALIDATE_MIN;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_policy has validation_type" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_STRSCPY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_STRSCPY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nla_strscpy(NULL, NULL ,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_strscpy exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_PUT_BITFIELD32 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_PUT_BITFIELD32
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nla_put_bitfield32(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_put_bitfield32 exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_NEST_START_NOFLAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_NEST_START_NOFLAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nla_nest_start_noflag(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_nest_start_noflag exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___NLMSG_PARSE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___NLMSG_PARSE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		__nlmsg_parse(NULL, 0, NULL, 0, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__nlmsg_parse exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLMSG_VALIDATE_DEPRECATED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLMSG_VALIDATE_DEPRECATED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nlmsg_validate_deprecated(NULL, 0, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nlmsg_validate_deprecated exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLMSG_PARSE_DEPRECATED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLMSG_PARSE_DEPRECATED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nlmsg_parse_deprecated(NULL, 0, NULL, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nlmsg_parse_deprecated exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_PARSE_DEPRECATED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_PARSE_DEPRECATED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nla_parse_deprecated(NULL, 0, NULL, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_parse_deprecated exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_GET_U8_DEFAULT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_GET_U8_DEFAULT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		nla_get_u8_default(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nla_get_u8_default exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NLA_POLICY_STRICT_START_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NLA_POLICY_STRICT_START_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netlink.h>

static int __maybe_unused test_func (void) {

		struct nla_policy x;

		x.strict_start_type = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct nla_policy has strict_start_type" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_NOTIFICATIONS_FILTERING -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_NOTIFICATIONS_FILTERING
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>
		#
		void spi(void *priv);
		void spi(void *priv)
		{
		}

static int __maybe_unused test_func (void) {

		struct genl_family gf = {
			.sock_privs = NULL,
			.sock_priv_init = spi,
                };

		genlmsg_multicast_netns_filtered(NULL, NULL, NULL, 0, 0, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel provides devlink notifications filtering" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_GENL_SPLIT_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_GENL_SPLIT_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_split_ops x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_ops exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_OPS_VALIDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_OPS_VALIDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_ops x;

		x.validate = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_ops has member validate" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_OPS_POLICY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_OPS_POLICY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_ops x;

		x.policy = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_ops has member policy" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_OPS_MAXATTR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_OPS_MAXATTR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_ops x;

		x.maxattr = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_ops has member maxattr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_FAMILY_RESV_START_OP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_FAMILY_RESV_START_OP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_family x;

		x.resv_start_op = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_family has member resv_start_op" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_FAMILY_POLICY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_FAMILY_POLICY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		struct genl_family x;

		x.policy = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct genl_family has member policy" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PEERNET2ID_ALLOC_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PEERNET2ID_ALLOC_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/net_namespace.h>

static int __maybe_unused test_func (void) {

		peernet2id_alloc(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function peernet2id_alloc get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_READ_PNET_RCU -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_READ_PNET_RCU
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/net_namespace.h>

static int __maybe_unused test_func (void) {

		read_pnet_rcu(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function read_pnet_rcu is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_INFO_DUMP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_INFO_DUMP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		const struct genl_info *gi = genl_info_dump(NULL);
		struct genl_dumpit_info gdi;
		struct genl_info *gi2;

		gi2 = &gdi.info;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function genl_info_dump is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENL_DUMPIT_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENL_DUMPIT_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/genetlink.h>

static int __maybe_unused test_func (void) {

		genl_dumpit_info(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function genl_dumpit_info is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETLINK_CALLBACK_HAS_CTX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETLINK_CALLBACK_HAS_CTX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netlink.h>

static int __maybe_unused test_func (void) {

		struct netlink_callback x;

		x.ctx[0] = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct netlink_callback has member ctx" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETLINK_CALLBACK_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETLINK_CALLBACK_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netlink.h>

static int __maybe_unused test_func (void) {

		struct netlink_callback x;

		x.extack = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct netlink_callback has member extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SYSFS_EMIT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SYSFS_EMIT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysfs.h>

static int __maybe_unused test_func (void) {

		char *buf;
		const char *output;

		sysfs_emit(buf, "%s", output);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "sysfs_emit is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_SPRINTF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_SPRINTF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		u8 data[32];
		u8 *p = data;
		int f_num = 0;

		ethtool_sprintf(&p, "%d", f_num);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool_sprintf is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_PAUSE_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_PAUSE_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_pause_stats x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool_pause_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ETHTOOL_RMON_HIST_RANGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ETHTOOL_RMON_HIST_RANGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_rmon_hist_range x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ethtool_rmon_hist_range is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_LINK_EXT_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_LINK_EXT_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_ops x = {
			.get_link_ext_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_link_ext_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_STATS_TS_GET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_STATS_TS_GET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_ops x = {
			.get_ts_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_ts_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_ETH_PHY_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_ETH_PHY_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_ops x = {
			.get_eth_phy_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "eth_phy_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_GET_FEC_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_GET_FEC_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ethtool.h>

static int __maybe_unused test_func (void) {

		struct ethtool_ops x = {
			.get_fec_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get_fec_stats is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_SET_REDIRECTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_SET_REDIRECTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		struct sk_buff x;
		skb_set_redirected(&x, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "skb_set_redirected is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IPV6_DST_LOOKUP_TAKES_NET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IPV6_DST_LOOKUP_TAKES_NET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/addrconf.h>

static int __maybe_unused test_func (void) {

		int x = ipv6_stub->ipv6_dst_lookup(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ipv6_dst_lookup takes net" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STATIC_ASSERT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STATIC_ASSERT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/build_bug.h>
                #define A 5
                #define B 6

static int __maybe_unused test_func (void) {

                static_assert(A < B);

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "build_bug.h has static_assert" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LOCKDEP_ASSERT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LOCKDEP_ASSERT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/lockdep.h>

static int __maybe_unused test_func (void) {

                lockdep_assert(0);

                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "lockdep.h has lockdep_assert" > "$MLNX_RDMA_MODULES_DIR/desc"


	if false; then

$as_echo "#define HAVE_REGISTER_FIB_NOTIFIER_HAS_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REGISTER_FIB_NOTIFIER_HAS_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/fib_notifier.h>

static int __maybe_unused test_func (void) {

		register_fib_notifier(NULL, NULL, NULL, NULL);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "register_fib_notifier has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FIB_INFO_NH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FIB_INFO_NH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/nexthop.h>

static int __maybe_unused test_func (void) {

		fib_info_nh(NULL, 0);
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function fib_info_nh exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FIB6_INFO_NH_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FIB6_INFO_NH_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/nexthop.h>

static int __maybe_unused test_func (void) {

		#pragma GCC diagnostic ignored "-Warray-bounds"
		fib6_info_nh_dev(NULL);
                return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function fib6_info_nh_dev exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KOBJ_TYPE_DEFAULT_GROUPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KOBJ_TYPE_DEFAULT_GROUPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/kobject.h>

static int __maybe_unused test_func (void) {

		struct kobj_type x = {
			.default_groups = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/kobject.h kobj_type has default_groups member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LOCKDEP_UNREGISTER_KEY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LOCKDEP_UNREGISTER_KEY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/lockdep.h>

static int __maybe_unused test_func (void) {

		lockdep_unregister_key(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/lockdep.h has lockdep_unregister_key" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LOCKUP_ASSERT_HELD_WRITE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LOCKUP_ASSERT_HELD_WRITE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/lockdep.h>

static int __maybe_unused test_func (void) {

		#ifdef lockdep_assert_held_write
			int x = 5;
		#else
			int x
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/lockdep.h has lockdep_assert_held_write" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FIB_NH_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FIB_NH_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/ip_fib.h>

static int __maybe_unused test_func (void) {

		struct fib_nh x = {
			.fib_nh_dev = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "fib_nh has fib_nh_dev" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_DMA_ADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_DMA_ADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>

static int __maybe_unused test_func (void) {

		struct page x = {
			.dma_addr = 0
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct page has dma_addr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ATOMIC_PINNED_VM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ATOMIC_PINNED_VM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>

static int __maybe_unused test_func (void) {

		struct mm_struct x;
                atomic64_t y;
		x.pinned_vm = y;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "atomic_pinned_vm is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PINNED_VM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PINNED_VM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>

static int __maybe_unused test_func (void) {

		struct mm_struct x;
		x.pinned_vm = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pinned_vm is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RT_GW_FAMILY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RT_GW_FAMILY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/route.h>

static int __maybe_unused test_func (void) {

		struct rtable x = {
			.rt_gw_family = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rt_gw_family is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RT_USES_GATEWAY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RT_USES_GATEWAY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/route.h>

static int __maybe_unused test_func (void) {

		struct rtable x = {
			.rt_uses_gateway = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rt_uses_gateway is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_INET_ADDR_IS_ANY_SOCKADDR_STORAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_INET_ADDR_IS_ANY_SOCKADDR_STORAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

              #include <linux/inet.h>

static int __maybe_unused test_func (void) {

              struct sockaddr_storage addr;
              inet_addr_is_any(&addr);
              return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "inet_addr_is_any takes sockaddr_storage" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol cancel_work exported" >&5
$as_echo_n "checking if Linux was built with symbol cancel_work exported... " >&6; }
grep -q -E '[[:space:]]cancel_work[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in kernel/workqueue.c; do
		grep -q -E "EXPORT_SYMBOL.*\(cancel_work\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_CANCEL_WORK_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_CANCEL_WORK_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol unpin_user_pages_dirty_lock exported" >&5
$as_echo_n "checking if Linux was built with symbol unpin_user_pages_dirty_lock exported... " >&6; }
grep -q -E '[[:space:]]unpin_user_pages_dirty_lock[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in mm/gup.c; do
		grep -q -E "EXPORT_SYMBOL.*\(unpin_user_pages_dirty_lock\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_UNPIN_USER_PAGES_DIRTY_LOCK_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_UNPIN_USER_PAGES_DIRTY_LOCK_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol unpin_user_page_range_dirty_lock exported" >&5
$as_echo_n "checking if Linux was built with symbol unpin_user_page_range_dirty_lock exported... " >&6; }
grep -q -E '[[:space:]]unpin_user_page_range_dirty_lock[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in mm/gup.c; do
		grep -q -E "EXPORT_SYMBOL.*\(unpin_user_page_range_dirty_lock\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_UNPIN_USER_PAGE_RANGE_DIRTY_LOCK_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_UNPIN_USER_PAGE_RANGE_DIRTY_LOCK_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol compat_ptr_ioctl exported" >&5
$as_echo_n "checking if Linux was built with symbol compat_ptr_ioctl exported... " >&6; }
grep -q -E '[[:space:]]compat_ptr_ioctl[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in fs/ioctl.c; do
		grep -q -E "EXPORT_SYMBOL.*\(compat_ptr_ioctl\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_COMPAT_PTR_IOCTL_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_COMPAT_PTR_IOCTL_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol flow_rule_match_cvlan exported" >&5
$as_echo_n "checking if Linux was built with symbol flow_rule_match_cvlan exported... " >&6; }
grep -q -E '[[:space:]]flow_rule_match_cvlan[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/core/flow_offload.c; do
		grep -q -E "EXPORT_SYMBOL.*\(flow_rule_match_cvlan\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_FLOW_RULE_MATCH_CVLAN 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_FLOW_RULE_MATCH_CVLAN 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol devlink_params_publish exported" >&5
$as_echo_n "checking if Linux was built with symbol devlink_params_publish exported... " >&6; }
grep -q -E '[[:space:]]devlink_params_publish[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/core/devlink.c; do
		grep -q -E "EXPORT_SYMBOL.*\(devlink_params_publish\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_DEVLINK_PARAMS_PUBLISHED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_DEVLINK_PARAMS_PUBLISHED 1" >>confdefs.h

fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol devlink_param_publish exported" >&5
$as_echo_n "checking if Linux was built with symbol devlink_param_publish exported... " >&6; }
grep -q -E '[[:space:]]devlink_param_publish[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/core/devlink.c; do
		grep -q -E "EXPORT_SYMBOL.*\(devlink_param_publish\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_DEVLINK_PARAM_PUBLISH 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_DEVLINK_PARAM_PUBLISH 1" >>confdefs.h

fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol split_page exported" >&5
$as_echo_n "checking if Linux was built with symbol split_page exported... " >&6; }
grep -q -E '[[:space:]]split_page[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in mm/page_alloc.c; do
		grep -q -E "EXPORT_SYMBOL.*\(split_page\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SPLIT_PAGE_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SPLIT_PAGE_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol ip6_dst_hoplimit exported" >&5
$as_echo_n "checking if Linux was built with symbol ip6_dst_hoplimit exported... " >&6; }
grep -q -E '[[:space:]]ip6_dst_hoplimit[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/ipv6/output_core.c; do
		grep -q -E "EXPORT_SYMBOL.*\(ip6_dst_hoplimit\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_IP6_DST_HOPLIMIT 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_IP6_DST_HOPLIMIT 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol __ip_dev_find exported" >&5
$as_echo_n "checking if Linux was built with symbol __ip_dev_find exported... " >&6; }
grep -q -E '[[:space:]]__ip_dev_find[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/ipv4/devinet.c; do
		grep -q -E "EXPORT_SYMBOL.*\(__ip_dev_find\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE___IP_DEV_FIND 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE___IP_DEV_FIND 1" >>confdefs.h

fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol inet_confirm_addr exported" >&5
$as_echo_n "checking if Linux was built with symbol inet_confirm_addr exported... " >&6; }
grep -q -E '[[:space:]]inet_confirm_addr[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/ipv4/devinet.c; do
		grep -q -E "EXPORT_SYMBOL.*\(inet_confirm_addr\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_INET_CONFIRM_ADDR_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_INET_CONFIRM_ADDR_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol dev_pm_qos_update_user_latency_tolerance exported" >&5
$as_echo_n "checking if Linux was built with symbol dev_pm_qos_update_user_latency_tolerance exported... " >&6; }
grep -q -E '[[:space:]]dev_pm_qos_update_user_latency_tolerance[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in drivers/base/power/qos.c; do
		grep -q -E "EXPORT_SYMBOL.*\(dev_pm_qos_update_user_latency_tolerance\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_PM_QOS_UPDATE_USER_LATENCY_TOLERANCE_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_PM_QOS_UPDATE_USER_LATENCY_TOLERANCE_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol get_net_ns_by_id exported" >&5
$as_echo_n "checking if Linux was built with symbol get_net_ns_by_id exported... " >&6; }
grep -q -E '[[:space:]]get_net_ns_by_id[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/net_namespace.h; do
		grep -q -E "EXPORT_SYMBOL.*\(get_net_ns_by_id\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_NET_NS_BY_ID_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_NET_NS_BY_ID_EXPORTED 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_NDO_BRIDGE_SETLINK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_BRIDGE_SETLINK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		int bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
				   u16 flags)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops;
		netdev_ops.ndo_bridge_setlink = bridge_setlink;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_bridge_setlink is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_BRIDGE_SETLINK_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_BRIDGE_SETLINK_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		int bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
				   u16 flags, struct netlink_ext_ack *extack);
		int bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
				   u16 flags, struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops;
		netdev_ops.ndo_bridge_setlink = bridge_setlink;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_bridge_setlink is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_GET_VF_GUID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_GET_VF_GUID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <linux/if_link.h>

		int get_vf_guid(struct net_device *dev, int vf, struct ifla_vf_guid *node_guid,
                                                   struct ifla_vf_guid *port_guid);
		int get_vf_guid(struct net_device *dev, int vf, struct ifla_vf_guid *node_guid,
                                                   struct ifla_vf_guid *port_guid)

		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops netdev_ops;
		netdev_ops.ndo_get_vf_guid = get_vf_guid;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_get_vf_guid is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_IRQ_GET_NODE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_IRQ_GET_NODE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_irq_get_node(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_irq_get_node is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IDA_FREE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IDA_FREE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/idr.h>

static int __maybe_unused test_func (void) {

		ida_free(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "idr.h has ida_free" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IDA_ALLOC_RANGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IDA_ALLOC_RANGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/idr.h>

static int __maybe_unused test_func (void) {

		ida_alloc_range(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "idr.h has ida_alloc_range" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IDA_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IDA_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/idr.h>

static int __maybe_unused test_func (void) {

		ida_alloc(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ida_alloc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IDA_ALLOC_MAX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IDA_ALLOC_MAX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/idr.h>

static int __maybe_unused test_func (void) {

		ida_alloc_max(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ida_alloc_max is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IDR_FOR_EACH_ENTRY_CONTINUE_UL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IDR_FOR_EACH_ENTRY_CONTINUE_UL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/idr.h>

static int __maybe_unused test_func (void) {

		#ifdef idr_for_each_entry_continue_ul
			return 0;
		#else
			#return
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "idr_for_each_entry_continue_ul is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XARRAY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XARRAY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/xarray.h>

static int __maybe_unused test_func (void) {

		struct xa_limit x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xa_array is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XA_FOR_EACH_RANGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XA_FOR_EACH_RANGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/xarray.h>

static int __maybe_unused test_func (void) {

		#ifdef xa_for_each_range
			return 0;
		#else
			#return 1;
		#endif

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xa_for_each_range is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEFINE_SEQ_ATTRIBUTE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEFINE_SEQ_ATTRIBUTE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/seq_file.h>

static int __maybe_unused test_func (void) {

		#ifdef DEFINE_SEQ_ATTRIBUTE
			return 0;
		#else
			#return 1;
		#endif

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "DEFINE_SEQ_ATTRIBUTE is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FD_FILE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FD_FILE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/file.h>

static int __maybe_unused test_func (void) {

		struct fd file_des = EMPTY_FD;
		struct file *f = fd_file(file_des);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "fd_file is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_CMD_TO_RQ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_CMD_TO_RQ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_cmnd.h>

static int __maybe_unused test_func (void) {

		scsi_cmd_to_rq(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_cmd_to_rq is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_DONE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_DONE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_cmnd.h>

static int __maybe_unused test_func (void) {

		scsi_done(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_done is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_GET_SECTOR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_GET_SECTOR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_cmnd.h>

static int __maybe_unused test_func (void) {

		scsi_get_sector(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_get_sector is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRSCPY_PAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRSCPY_PAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/string.h>

static int __maybe_unused test_func (void) {

		char buf[10];
		strscpy_pad(buf, "str", 8);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "strscpy_pad is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_NAMESPACE_GET_CONST_DEVICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_NAMESPACE_GET_CONST_DEVICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device.h>
		static const void *net_namespace(const struct device *d) {
			void* p = NULL;
			return p;
		}


static int __maybe_unused test_func (void) {

		struct class cm_class = {
			.namespace = net_namespace,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net_namespace get const struct device" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CLASS_DEV_UEVENT_CONST_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CLASS_DEV_UEVENT_CONST_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device.h>
		static int foo(const struct device *dev, struct kobj_uevent_env *env) {
			return 0;
		}


static int __maybe_unused test_func (void) {

		struct class my_class = {
			.dev_uevent = foo,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dev_uevent get const struct device" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVNODE_GET_CONST_DEVICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVNODE_GET_CONST_DEVICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device.h>
		static char * foo(const struct device *dev,  umode_t *mode) {
			return NULL;
		}


static int __maybe_unused test_func (void) {

		struct class my_class = {
			.devnode = foo,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "devnode get const struct device" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CONST_BUS_TYPE_FOR_STRUCT_DEVICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CONST_BUS_TYPE_FOR_STRUCT_DEVICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device.h>

static int __maybe_unused test_func (void) {

		struct device dev;
		const struct bus_type bt;

		dev.bus = &bt;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bus_type enty of struct device is const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BUS_FIND_DEVICE_GET_CONST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BUS_FIND_DEVICE_GET_CONST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device.h>

static int __maybe_unused test_func (void) {

		const void *data;
 		bus_find_device(NULL, NULL, data, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bus_find_device get const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IPV4_NOT_POINTER_TCP_DEATH_ROW -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IPV4_NOT_POINTER_TCP_DEATH_ROW
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netns/ipv4.h>


static int __maybe_unused test_func (void) {

		struct inet_timewait_death_row row;

		struct netns_ipv4 x = {
			.tcp_death_row = row,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netns_ipv4 tcp_death_row memebr is not pointer" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RTNL_NEWLINK_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RTNL_NEWLINK_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/rtnetlink.h>


static int __maybe_unused test_func (void) {

		struct rtnl_newlink_params x = {};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rtnl_newlink_params exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_LINK_OPS_IPOIB_LINK_OPS_HAS_NETNS_REFUND -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_LINK_OPS_IPOIB_LINK_OPS_HAS_NETNS_REFUND
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/rtnetlink.h>


static int __maybe_unused test_func (void) {

		struct rtnl_link_ops x = {
			.netns_refund = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rtnl_link_ops has netns_refund" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_EVENTFD_SIGNAL_GET_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_EVENTFD_SIGNAL_GET_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/eventfd.h>

static int __maybe_unused test_func (void) {


		eventfd_signal(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/eventfd.h has eventfd_signal with 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_HOP_JUMBO_HDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_HOP_JUMBO_HDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/ipv6.h>

static int __maybe_unused test_func (void) {


		struct hop_jumbo_hdr jumbo;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/ipv6.h has struct  hop_jumbo_hdr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_DEV_STATE_DELETE_GET_NET_DEVICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_DEV_STATE_DELETE_GET_NET_DEVICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		static void my_xdo_dev_state_delete(struct net_device *dev, struct xfrm_state *x)
		{
		}

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_state_delete = my_xdo_dev_state_delete,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops xdo_dev_state_delete gets net_device parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_XMIT_MORE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_XMIT_MORE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netdev_xmit_more();

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdev_xmit_more is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FOLL_LONGTERM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FOLL_LONGTERM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		int x = FOLL_LONGTERM;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FOLL_LONGTERM is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_PCI_P2PDMA_SUPPORTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_PCI_P2PDMA_SUPPORTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_pci_p2pdma_supported(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-mapping.h has dma_pci_p2pdma_supported" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PDE_DATA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PDE_DATA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/proc_fs.h>

static int __maybe_unused test_func (void) {

		pde_data(NULL);
		return 0;


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/proc_fs.h has pde_data" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PROC_OPS_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PROC_OPS_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/proc_fs.h>

static int __maybe_unused test_func (void) {

		struct proc_ops x = {
			.proc_open    = NULL,
		        .proc_read    = NULL,
		        .proc_lseek  = NULL,
		        .proc_release = NULL,
		};

		return 0;


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct proc_ops is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MARK_DISK_DEAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MARK_DISK_DEAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_mark_disk_dead(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mark_disk_dead exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_ZALLOC_COHERENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_ZALLOC_COHERENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_zalloc_coherent(NULL, 0, NULL, GFP_KERNEL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma-mapping.h has dma_zalloc_coherent function" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_SET_FEATURES_FLAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_SET_FEATURES_FLAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>


static int __maybe_unused test_func (void) {

		xdp_set_features_flag(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_set_features_flag defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_BUFF_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_BUFF_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_buff_alloc(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_buff_alloc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_BUFF_ALLOC_BATCH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_BUFF_ALLOC_BATCH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_buff_alloc_batch(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_buff_alloc_batch is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_BUFF_SET_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_BUFF_SET_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_buff_set_size(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_buff_set_size is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_BUFF_GET_FRAME_DMA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_BUFF_GET_FRAME_DMA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_buff_xdp_get_frame_dma(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_buff_xdp_get_frame_dma is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKIP_CALLING_NOP_SYNC_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKIP_CALLING_NOP_SYNC_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		struct page_pool pp = {
			.has_init_callback = 1,
			.dma_map = 1,
			.dma_sync = 1,
			.pages_state_hold_cnt = 1,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.10-rc1, skip calling no-op sync ops when possible" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CONVERT_BE16_TUNNEL_FLAGS_TO_BITMAPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CONVERT_BE16_TUNNEL_FLAGS_TO_BITMAPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/ip_tunnels.h>

static int __maybe_unused test_func (void) {

		struct ip_tunnel_parm_kern itpk = {
			.link = 1,
			.i_flags = 1,
			.o_flags = 1,
		};

		IP_TUNNEL_DECLARE_FLAGS(present) = { };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.10-rc1: convert __be16 tunnel flags to bitmaps" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_TX_METADATA_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_TX_METADATA_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {


		const struct xsk_tx_metadata_ops mlx5e_xsk_tx_metadata_ops = {
			.tmo_fill_timestamp             = NULL,
			.tmo_request_checksum           = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xsk_tx_metadata_ops is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_UMEM_RELEASE_ADDR_RQ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_UMEM_RELEASE_ADDR_RQ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {

		xsk_umem_release_addr_rq(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_umem_release_addr_rq is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_UMEM_ADJUST_OFFSET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_UMEM_ADJUST_OFFSET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {

		xsk_umem_adjust_offset(NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_umem_adjust_offset is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_UMEM_CONSUME_TX_GET_2_PARAMS_IN_SOCK_DRV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_UMEM_CONSUME_TX_GET_2_PARAMS_IN_SOCK_DRV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_umem_consume_tx(NULL,NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp_soc_drv.h has xsk_umem_consume_tx get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_UMEM_CONSUME_TX_GET_2_PARAMS_IN_SOCK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_UMEM_CONSUME_TX_GET_2_PARAMS_IN_SOCK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {

		xsk_umem_consume_tx(NULL,NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp_sock.h has xsk_umem_consume_tx get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_UMEM_CHUNK_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_UMEM_CHUNK_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        		 #include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {

       		  struct xdp_umem xdp = {
                 .chunk_size = 0,
        		 };

         		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "chunk_size is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_UMEM_FLAGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_UMEM_FLAGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

        		 #include <net/xdp_sock.h>

static int __maybe_unused test_func (void) {

       		  struct xdp_umem xdp = {
                 .flags = 0,
        		 };

         		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flags is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_DO_FLUSH_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_DO_FLUSH_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/filter.h>

static int __maybe_unused test_func (void) {

		xdp_do_flush_map();

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "filter.h has xdp_do_flush_map" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BPF_WARN_IVALID_XDP_ACTION_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BPF_WARN_IVALID_XDP_ACTION_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/filter.h>

static int __maybe_unused test_func (void) {

		bpf_warn_invalid_xdp_action(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "filter.h has bpf_warn_invalid_xdp_action get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_QUEUE_FULL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_QUEUE_FULL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi.h>

static int __maybe_unused test_func (void) {

		int x = QUEUE_FULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "QUEUE_FULL is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_BLOCK_TARGETS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_BLOCK_TARGETS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_device.h>

static int __maybe_unused test_func (void) {

		scsi_block_targets(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_block_targets is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSIT_CONN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSIT_CONN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct iscsit_conn c;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_target_core.h has struct iscsit_conn" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSIT_CONN_LOGIN_SOCKADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSIT_CONN_LOGIN_SOCKADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct sockaddr_storage s;
		struct iscsit_conn c = {
			.login_sockaddr = s,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsit_conn has member login_sockaddr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSIT_CONN_LOCAL_SOCKADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSIT_CONN_LOCAL_SOCKADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct sockaddr_storage s;
		struct iscsit_conn c = {
			.local_sockaddr = s,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsit_conn has members local_sockaddr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_CONN_LOGIN_SOCKADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_CONN_LOGIN_SOCKADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct sockaddr_storage s;
		struct iscsi_conn c = {
			.login_sockaddr = s,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_conn has member login_sockaddr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_CONN_LOCAL_SOCKADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_CONN_LOCAL_SOCKADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct sockaddr_storage s;
		struct iscsi_conn c = {
			.local_sockaddr = s,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_conn has members local_sockaddr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSIT_CMD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSIT_CMD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_target_core.h>

static int __maybe_unused test_func (void) {

		struct iscsit_cmd c;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_target_core.h has struct iscsit_cmd" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TARGET_STOP_SESSION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TARGET_STOP_SESSION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/target_core_base.h>
		#include <target/target_core_fabric.h>

static int __maybe_unused test_func (void) {

		target_stop_session(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "target_stop_session is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TARGET_STOP_CMD_COUNTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TARGET_STOP_CMD_COUNTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/target_core_fabric.h>

static int __maybe_unused test_func (void) {

		target_stop_cmd_counter(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "target_stop_cmd_counter is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_TEMPLATE_SHOST_GROUPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_TEMPLATE_SHOST_GROUPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		struct scsi_host_template sh = {
			.shost_groups = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_host_template has members shost_groups" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_TEMPLATE_INIT_CMD_PRIV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_TEMPLATE_INIT_CMD_PRIV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		struct scsi_host_template sh = {
			.init_cmd_priv = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_host_template has member init_cmd_priv" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_MAX_SEGMENT_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_MAX_SEGMENT_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		struct Scsi_Host sh = {
			.max_segment_size = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "Scsi_Host has members max_segment_size" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_VIRT_BOUNDARY_MASK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_VIRT_BOUNDARY_MASK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		struct Scsi_Host sh = {
			.virt_boundary_mask = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "Scsi_Host has members virt_boundary_mask" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_BUSY_ITER_FN_2_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_BUSY_ITER_FN_2_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

		bool fn(struct scsi_cmnd *scmnd, void *ctx);
		bool fn(struct scsi_cmnd *scmnd, void *ctx)
		{
			return false;
		}

static int __maybe_unused test_func (void) {

		scsi_host_busy_iter(NULL, fn, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_host.h scsi_host_busy_iter fn has 2 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_TIMEOUT_ACTION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_TIMEOUT_ACTION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		enum scsi_timeout_action a = SCSI_EH_DONE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_host.h has enum scsi_timeout_action" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_ALLOC_GET_CONST_SHT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_ALLOC_GET_CONST_SHT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		const struct scsi_host_template t = {};

		scsi_host_alloc(&t, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_host_alloc get const struct scsi_host_template" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_HOST_TEMPLATE_HAS_SDEV_CONFIGURE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_HOST_TEMPLATE_HAS_SDEV_CONFIGURE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_host.h>

static int __maybe_unused test_func (void) {

		struct scsi_host_template sht = {
			.sdev_configure = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "from 6.14, struct scsi_host_template has member sdev_configure" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SE_CMD_HAS_SENSE_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SE_CMD_HAS_SENSE_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/target_core_base.h>


static int __maybe_unused test_func (void) {

		struct se_cmd se = {
			.sense_info = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct se_cmd has member sense_info" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_DEVICE_BUDGET_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_DEVICE_BUDGET_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_device.h>

		/* If it is stack, we get error that frame is too large: */
		static struct scsi_device sdev;

static int __maybe_unused test_func (void) {

		sbitmap_init_node(&sdev.budget_map, 0, 0, 0, 0, false, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi_device.h struct scsi_device has member budget_map" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_TYPES_REQ_OPF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_TYPES_REQ_OPF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		enum req_opf xx = REQ_OP_DRV_OUT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum req_opf is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CGROUP_BPF_RUN_FILTER_SYSCTL_7_PARAMETERS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CGROUP_BPF_RUN_FILTER_SYSCTL_7_PARAMETERS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bpf-cgroup.h>

static int __maybe_unused test_func (void) {

		return __cgroup_bpf_run_filter_sysctl(NULL, NULL, 0, NULL, NULL, NULL, 0);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__cgroup_bpf_run_filter_sysctl have 7 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_P2PDMA_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_P2PDMA_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci-p2pdma.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/pci-p2pdma.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ASSIGN_STR_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ASSIGN_STR_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <trace/stages/stage6_event_callback.h>

		#undef __get_str
		#define __get_str(dst) {"abc"}

		#undef __get_dynamic_array_len
		#define __get_dynamic_array_len(dst) 3

		#undef memcpy
		#define memcpy(a,b,c)

static int __maybe_unused test_func (void) {

		__assign_str(dst);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__assign_str has one param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_P2PDMA_UNMAP_SG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_P2PDMA_UNMAP_SG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci-p2pdma.h>

static int __maybe_unused test_func (void) {

		pci_p2pdma_unmap_sg(NULL, NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_p2pdma_unmap_sg defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_HAS_FRAGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_HAS_FRAGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bpf.h>

static int __maybe_unused test_func (void) {

		struct bpf_prog_aux x = {
			.xdp_has_frags = true
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct bpf_prog_aux has xdp_has_frags as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_UPDATE_SKB_SHARED_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_UPDATE_SKB_SHARED_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		xdp_update_skb_shared_info(NULL, 0, 0, 0, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_update_skb_shared_info is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_METADATA_OPS_HAS_VLAN_TAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_METADATA_OPS_HAS_VLAN_TAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		const struct xdp_metadata_ops mlx5e_xdp_metadata_ops = {
			.xmo_rx_timestamp           = NULL,
			.xmo_rx_hash                = NULL,
			.xmo_rx_vlan_tag            = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_metadata_ops has xmo_rx_vlan_tag" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_GET_SHARED_INFO_FROM_BUFF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_GET_SHARED_INFO_FROM_BUFF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		xdp_get_shared_info_from_buff(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_update_skb_shared_info is defined" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol tcf_exts_num_actions exported" >&5
$as_echo_n "checking if Linux was built with symbol tcf_exts_num_actions exported... " >&6; }
grep -q -E '[[:space:]]tcf_exts_num_actions[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sched/cls_api.c; do
		grep -q -E "EXPORT_SYMBOL.*\(tcf_exts_num_actions\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_TCF_EXTS_NUM_ACTIONS 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_TCF_EXTS_NUM_ACTIONS 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol netpoll_poll_dev exported" >&5
$as_echo_n "checking if Linux was built with symbol netpoll_poll_dev exported... " >&6; }
grep -q -E '[[:space:]]netpoll_poll_dev[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/core/netpoll.c; do
		grep -q -E "EXPORT_SYMBOL.*\(netpoll_poll_dev\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_NETPOLL_POLL_DEV_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_NETPOLL_POLL_DEV_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol __put_task_struct exported" >&5
$as_echo_n "checking if Linux was built with symbol __put_task_struct exported... " >&6; }
grep -q -E '[[:space:]]__put_task_struct[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in kernel/fork.c; do
		grep -q -E "EXPORT_SYMBOL.*\(__put_task_struct\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_PUT_TASK_STRUCT_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_PUT_TASK_STRUCT_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol mmput_async exported" >&5
$as_echo_n "checking if Linux was built with symbol mmput_async exported... " >&6; }
grep -q -E '[[:space:]]mmput_async[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in kernel/fork.c; do
		grep -q -E "EXPORT_SYMBOL.*\(mmput_async\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_MMPUT_ASYNC_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_MMPUT_ASYNC_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol get_pid_task exported" >&5
$as_echo_n "checking if Linux was built with symbol get_pid_task exported... " >&6; }
grep -q -E '[[:space:]]get_pid_task[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in kernel/pid.c; do
		grep -q -E "EXPORT_SYMBOL.*\(get_pid_task\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_PID_TASK_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_PID_TASK_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol get_task_pid exported" >&5
$as_echo_n "checking if Linux was built with symbol get_task_pid exported... " >&6; }
grep -q -E '[[:space:]]get_task_pid[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in kernel/pid.c; do
		grep -q -E "EXPORT_SYMBOL.*\(get_task_pid\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_TASK_PID_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_GET_TASK_PID_EXPORTED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol mm_kobj exported" >&5
$as_echo_n "checking if Linux was built with symbol mm_kobj exported... " >&6; }
grep -q -E '[[:space:]]mm_kobj[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in mm/mm_init.c; do
		grep -q -E "EXPORT_SYMBOL.*\(mm_kobj\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_MM_KOBJ_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_MM_KOBJ_EXPORTED 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_BPF_PROG_ADD_RET_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BPF_PROG_ADD_RET_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bpf.h>

static int __maybe_unused test_func (void) {

		struct bpf_prog *prog;

		prog = bpf_prog_add(prog, 0);
		prog = bpf_prog_inc(prog);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bpf_prog_add\bfs_prog_inc functions return struct" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_REDIRECT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_REDIRECT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bpf.h>

static int __maybe_unused test_func (void) {

		enum xdp_action x = XDP_REDIRECT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "XDP_REDIRECT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_CLS_FLOWER_OFFLOAD_COMMON_FIX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_CLS_FLOWER_OFFLOAD_COMMON_FIX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_cls_flower_offload x = {
			.common = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_cls_flower_offload has common" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_CLS_OFFLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_CLS_OFFLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_cls_offload x = {
			.classid = 3,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_cls_offload exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_CT_METADATA_ORIG_DIR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_CT_METADATA_ORIG_DIR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.ct_metadata.orig_dir = true,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has ct_metadata.orig_dir" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_PTYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_PTYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.ptype = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has ptype" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_MPLS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_MPLS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.mpls_push.label = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has mpls" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_POLICE_INDEX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_POLICE_INDEX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.police.index = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has police.index" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_POLICE_EXCEED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_POLICE_EXCEED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.police.exceed.act_id = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has police.exceed" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_HW_INDEX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_HW_INDEX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.hw_index = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has hw_index" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_POLICE_RATE_PKT_PS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_POLICE_RATE_PKT_PS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry x = {
			.police.rate_pkt_ps = 1,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_action_entry has police.rate_pkt_ps" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_RULE_MATCH_META -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_RULE_MATCH_META
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_rule_match_meta(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_rule_match_meta exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_HW_STATS_CHECK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_HW_STATS_CHECK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		#pragma GCC diagnostic ignored "-Warray-bounds"
		flow_action_hw_stats_check(NULL, NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_action_hw_stats_check exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_POLICE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_POLICE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_POLICE;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_POLICE exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_CT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_CT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_CT;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_CT exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_REDIRECT_INGRESS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_REDIRECT_INGRESS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_action_id action = FLOW_ACTION_REDIRECT_INGRESS;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_ACTION_REDIRECT_INGRESS exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENUM_FLOW_BLOCK_BINDER_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENUM_FLOW_BLOCK_BINDER_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		enum flow_block_binder_type binder_type;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum flow_block_binder_type exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_INDR_BLOCK_BIND_CB_T_7_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_INDR_BLOCK_BIND_CB_T_7_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/flow_offload.h>
		static
		int mlx5e_rep_indr_setup_cb(struct net_device *netdev, struct Qdisc *sch, void *cb_priv,
					    enum tc_setup_type type, void *type_data,
					    void *data,
					    void (*cleanup)(struct flow_block_cb *block_cb))
		{
			return 0;
		}


static int __maybe_unused test_func (void) {

		flow_indr_dev_register(mlx5e_rep_indr_setup_cb, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_indr_block_bind_cb_t has 7 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_INDR_BLOCK_BIND_CB_T_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_INDR_BLOCK_BIND_CB_T_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/flow_offload.h>
		static
		int mlx5e_rep_indr_setup_cb(struct net_device *netdev, void *cb_priv,
					    enum tc_setup_type type, void *type_data)
		{
			return 0;
		}


static int __maybe_unused test_func (void) {

		flow_indr_dev_register(mlx5e_rep_indr_setup_cb, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_indr_block_bind_cb_t has 4 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_INDR_DEV_UNREGISTER_FLOW_SETUP_CB_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_INDR_DEV_UNREGISTER_FLOW_SETUP_CB_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/flow_offload.h>
		static int mlx5e_rep_indr_setup_tc_cb(enum tc_setup_type type,
                                      void *type_data, void *indr_priv)
		{
			return 0;
		}


static int __maybe_unused test_func (void) {

		flow_indr_dev_unregister(NULL,NULL, mlx5e_rep_indr_setup_tc_cb);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_indr_dev_unregister receive flow_setup_cb_t parameter" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_FLOW_INDR_DEV_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_INDR_DEV_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_indr_dev_register(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_indr_dev_register exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_STATS_UPDATE_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_STATS_UPDATE_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_stats_update(NULL, 0, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_stats_update has 5 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_STATS_UPDATE_6_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_STATS_UPDATE_6_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_stats_update(NULL, 0, 0, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_stats_update has 6 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CTRL_FLAG_HELPERS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CTRL_FLAG_HELPERS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_rule_is_supp_control_flags(1, 1, NULL);
		flow_rule_has_control_flags(1, NULL);
		flow_rule_match_has_control_flags(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel provides control flag checking helpers" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENCAP_CTRL_FLAG_HELPERS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENCAP_CTRL_FLAG_HELPERS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_rule_is_supp_enc_control_flags(1, 1, NULL);
		flow_rule_has_enc_control_flags(1, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel provides encapsulation control flag helpers" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GRO_LEGACY_MAX_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GRO_LEGACY_MAX_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		unsigned int x = GRO_LEGACY_MAX_SIZE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "GRO_LEGACY_MAX_SIZE defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GRO_MAX_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GRO_MAX_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		unsigned long x = GRO_MAX_SIZE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "GRO_MAX_SIZE defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NDO_TX_TIMEOUT_GET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NDO_TX_TIMEOUT_GET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		void mlx5e_tx_timeout(struct net_device *dev, unsigned int txqueue);
		void mlx5e_tx_timeout(struct net_device *dev, unsigned int txqueue)
		{
			return;
		}

static int __maybe_unused test_func (void) {

		struct net_device_ops mlx5e_netdev_ops = {
			.ndo_tx_timeout = mlx5e_tx_timeout,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ndo_tx_timeout get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_TC_ACT_TC_MPLS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_TC_ACT_TC_MPLS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tc_act/tc_mpls.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tc_act/tc_mpls.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCF_PEDIT_TCFP_KEYS_EX_FIX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCF_PEDIT_TCFP_KEYS_EX_FIX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tc_act/tc_pedit.h>

static int __maybe_unused test_func (void) {

		struct tcf_pedit x = {
			.tcfp_keys_ex = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tcf_pedit has member tcfp_keys_ex" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCF_PEDIT_PARMS_TCFP_KEYS_EX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCF_PEDIT_PARMS_TCFP_KEYS_EX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tc_act/tc_pedit.h>

static int __maybe_unused test_func (void) {

		struct tcf_pedit_parms x = {
			.tcfp_keys_ex = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tcf_pedit_parms has member tcfp_keys_ex" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_CONN_UNBIND -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_CONN_UNBIND
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/libiscsi.h>

static int __maybe_unused test_func (void) {

		iscsi_conn_unbind(NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_conn_unbind is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_HOST_REMOVE_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_HOST_REMOVE_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/libiscsi.h>

static int __maybe_unused test_func (void) {

		iscsi_host_remove(NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "libiscsi.h iscsi_host_remove has 2 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_CMD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_CMD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/libiscsi.h>

static int __maybe_unused test_func (void) {

		struct iscsi_cmd c;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "libiscsi.h has struct iscsi_cmd" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSI_PUT_ENDPOINT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSI_PUT_ENDPOINT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_transport_iscsi.h>

static int __maybe_unused test_func (void) {

		iscsi_put_endpoint(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsi_put_endpoint is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LINUX_SED_OPAL_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LINUX_SED_OPAL_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sed-opal.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/sed-opal.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_INIT_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_INIT_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_init(NULL, NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio.h bio_init has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_3_UNDERSCORE_ADDRESSABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_3_UNDERSCORE_ADDRESSABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compiler.h>


static int __maybe_unused test_func (void) {

		#ifdef ___ADDRESSABLE
			return 0;
		#else
			#return 1
		#endif


	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "___ADDRESSABLE exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RXH_XFRM_SYM_OR_XOR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RXH_XFRM_SYM_OR_XOR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/ethtool.h>


static int __maybe_unused test_func (void) {

		#ifdef RXH_XFRM_SYM_OR_XOR
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "RXH_XFRM_SYM_OR_XOR exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_AUTO_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_AUTO_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compiler.h>

		#define auto_test_no_free_ptr(p) \
		        ({ __auto_type __ptr = (p); (p) = NULL; __ptr; })

static int __maybe_unused test_func (void) {

		int * a;

		auto_test_no_free_ptr(a);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__auto_type exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CONST_READ_ONCE_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CONST_READ_ONCE_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compiler.h>

static int __maybe_unused test_func (void) {

		const unsigned long tmp;
		__read_once_size(&tmp, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "const __read_once_size exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___COUNTED_BY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___COUNTED_BY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compiler_types.h>
		#include <linux/compiler_attributes.h>

static int __maybe_unused test_func (void) {

		#ifdef __counted_by
			return 0;
		#else
			#return 1
		#endif

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "compiler_types.h, compiler_attributes.h provide __counted_by macro" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REGISTER_LSM_NOTIFIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REGISTER_LSM_NOTIFIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/security.h>

static int __maybe_unused test_func (void) {

		register_lsm_notifier(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/security.h has register_lsm_notifier" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REGISTER_BLOCKING_LSM_NOTIFIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REGISTER_BLOCKING_LSM_NOTIFIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/security.h>

static int __maybe_unused test_func (void) {

		register_blocking_lsm_notifier(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/security.h has register_blocking_lsm_notifier" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_F_PCI_P2PDMA_SUPPORTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_F_PCI_P2PDMA_SUPPORTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-map-ops.h>

static int __maybe_unused test_func (void) {

		struct dma_map_ops * a;
		a->flags = DMA_F_PCI_P2PDMA_SUPPORTED;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-map-ops.h has DMA_F_PCI_P2PDMA_SUPPORTED" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___ATOMIC_ADD_UNLESS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___ATOMIC_ADD_UNLESS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/highmem.h>

static int __maybe_unused test_func (void) {

		atomic_t x;
		__atomic_add_unless(&x, 1, 1);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__atomic_add_unless is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ATOMIC_FETCH_ADD_UNLESS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ATOMIC_FETCH_ADD_UNLESS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/highmem.h>

static int __maybe_unused test_func (void) {

		atomic_t x;
		atomic_fetch_add_unless(&x, 1, 1);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "atomic_fetch_add_unless is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCF_EXTS_STATS_UPDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCF_EXTS_STATS_UPDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		tcf_exts_stats_update(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tcf_exts_stats_update is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_ACTION_OPS_HAS_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_ACTION_OPS_HAS_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/act_api.h>

static int __maybe_unused test_func (void) {

		struct tc_action_ops x = { .id = 0, };

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct  tc_action_ops has id" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LINUX_IOMMU_DMA_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LINUX_IOMMU_DMA_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/iommu.h>
		#include <linux/iommu-dma.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/iommu-dma.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LINUX_UNALIGNED_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LINUX_UNALIGNED_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/unaligned.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/unaligned.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LINUX_DEVICE_BUS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LINUX_DEVICE_BUS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device/bus.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/device/bus.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BUS_TYPE_REMOVE_RETURN_VOID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BUS_TYPE_REMOVE_RETURN_VOID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device/bus.h>

		static void auxiliary_bus_remove(struct device *dev)
		{
		}

static int __maybe_unused test_func (void) {

		struct bus_type btype = {
			.remove = auxiliary_bus_remove,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bus_type remove function return void" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_AUX_DEV_IRQS_SYSFS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_AUX_DEV_IRQS_SYSFS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/auxiliary_bus.h>
		#include <linux/xarray.h>

static int __maybe_unused test_func (void) {

		struct auxiliary_device ad;
		xa_init(&ad.sysfs.irqs);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "auxiliary device IRQs sysfs exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_INTEGRITY_DEVICE_CAPABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_INTEGRITY_DEVICE_CAPABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		enum  blk_integrity_flags bif = BLK_INTEGRITY_DEVICE_CAPABLE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_INTEGRITY_DEVICE_CAPABLE is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MAX_WRITE_HINTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MAX_WRITE_HINTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = BLK_MAX_WRITE_HINTS;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_MAX_WRITE_HINTS is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVICE_ADD_DISK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVICE_ADD_DISK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		device_add_disk(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has device_add_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVICE_ADD_DISK_3_ARGS_NO_RETURN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVICE_ADD_DISK_3_ARGS_NO_RETURN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		device_add_disk(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has device_add_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVICE_ADD_DISK_3_ARGS_AND_RETURN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVICE_ADD_DISK_3_ARGS_AND_RETURN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int ret;

		ret = device_add_disk(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has device_add_disk 3 args and must_check" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LIST_BULK_MOVE_TAIL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LIST_BULK_MOVE_TAIL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/list.h>

static int __maybe_unused test_func (void) {

		list_bulk_move_tail(NULL, NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "list_bulk_move_tail is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LIST_IS_FIRST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LIST_IS_FIRST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/list.h>

static int __maybe_unused test_func (void) {

		list_is_first(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "list_is_first is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SG_ALLOC_TABLE_FROM_PAGES_GET_9_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SG_ALLOC_TABLE_FROM_PAGES_GET_9_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <linux/scatterlist.h>

static int __maybe_unused test_func (void) {

		struct scatterlist *sg;

		sg = __sg_alloc_table_from_pages(NULL, NULL, 0, 0,
					    0, 0, NULL, 0, GFP_KERNEL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__sg_alloc_table_from_pages has 9 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SG_APPEND_TABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SG_APPEND_TABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/scatterlist.h>

static int __maybe_unused test_func (void) {

		struct sg_append_table  sgt_append;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/scatterlist.h has sg_append_table" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_RESV_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_RESV_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-resv.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-resv.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_RESV_USAGE_KERNEL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_RESV_USAGE_KERNEL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-resv.h>

static int __maybe_unused test_func (void) {

		enum dma_resv_usage usage;

		usage = DMA_RESV_USAGE_KERNEL;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-resv.h has DMA_RESV_USAGE_KERNEL" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_RESV_WAIT_TIMEOUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_RESV_WAIT_TIMEOUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-resv.h>

static int __maybe_unused test_func (void) {

		dma_resv_wait_timeout(NULL, 0, 0, 0);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-resv.h has dma_resv_wait_timeout" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_RESV_EXCL_FENCE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_RESV_EXCL_FENCE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-resv.h>

static int __maybe_unused test_func (void) {

		dma_resv_excl_fence(NULL);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-resv.h has dma_resv_excl_fence" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_BUF_DYNAMIC_ATTACH_GET_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_BUF_DYNAMIC_ATTACH_GET_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-buf.h>

static int __maybe_unused test_func (void) {

		dma_buf_dynamic_attach(NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma_buf_dynamic_attach get 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_BUF_ATTACH_OPS_ALLOW_PEER2PEER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_BUF_ATTACH_OPS_ALLOW_PEER2PEER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-buf.h>

static int __maybe_unused test_func (void) {

		struct dma_buf_attach_ops x = {
			.allow_peer2peer = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct dma_buf_attach_ops has allow_peer2peer" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_NAPI_ADD_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_NAPI_ADD_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netif_napi_add(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_napi_add get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_NAPI_ADD_WEIGHT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_NAPI_ADD_WEIGHT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		netif_napi_add_weight(NULL, NULL, NULL ,0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdevice.h has netif_napi_add_weight" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_IS_BAREDUDP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_IS_BAREDUDP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/bareudp.h>

static int __maybe_unused test_func (void) {

		netif_is_bareudp(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_is_bareudp is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_FT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_FT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		enum tc_setup_type x = TC_SETUP_FT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "TC_TC_SETUP_FT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UMEM_NOTIFIER_PARAM_BLOCKABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UMEM_NOTIFIER_PARAM_BLOCKABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>
		static int notifier(struct mmu_notifier *mn,
				    struct mm_struct *mm,
				    unsigned long start,
				    unsigned long end,
				    bool blockable) {
			return 0;
		}

static int __maybe_unused test_func (void) {

		static const struct mmu_notifier_ops notifiers = {
			.invalidate_range_start = notifier
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ib_umem_notifier_invalidate_range_start has parameter blockable" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ISCSIT_SET_UNSOLICITED_DATAOUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ISCSIT_SET_UNSOLICITED_DATAOUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <target/iscsi/iscsi_transport.h>

static int __maybe_unused test_func (void) {

		iscsit_set_unsolicited_dataout(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iscsit_set_unsolicited_dataout is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_CALL_SRCU -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_CALL_SRCU
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

		mmu_notifier_call_srcu(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mmu_notifier_call_srcu defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_SYNCHRONIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_SYNCHRONIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

		mmu_notifier_synchronize();
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mmu_notifier_synchronize defined" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_RANGE_BLOCKABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_RANGE_BLOCKABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

                const struct mmu_notifier_range *range;

		mmu_notifier_range_blockable(range);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mmu_notifier_range_blockable defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_OPS_HAS_FREE_NOTIFIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_OPS_HAS_FREE_NOTIFIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

		static struct mmu_notifier_ops notifiers = {
			.free_notifier = NULL,
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct mmu_notifier_ops has alloc/free_notifier " > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_RANGE_STRUCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_RANGE_STRUCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>
		static int notifier(struct mmu_notifier *mn,
					const struct mmu_notifier_range *range)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		static const struct mmu_notifier_ops notifiers = {
			.invalidate_range_start = notifier
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ib_umem_notifier_invalidate_range_start get struct mmu_notifier_range " > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_NOTIFIER_UNREGISTER_NO_RELEASE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_NOTIFIER_UNREGISTER_NO_RELEASE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

		mmu_notifier_unregister_no_release(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mmu_notifier_unregister_no_release defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MMU_INTERVAL_NOTIFIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MMU_INTERVAL_NOTIFIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mmu_notifier.h>

static int __maybe_unused test_func (void) {

		static struct mmu_interval_notifier_ops int_notifier_ops_xx= {
			.invalidate = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mmu interval notifier defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___BLKDEV_ISSUE_DISCARD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___BLKDEV_ISSUE_DISCARD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		__blkdev_issue_discard(NULL, 0, 0, 0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__blkdev_issue_discard is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___BLKDEV_ISSUE_DISCARD_5_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___BLKDEV_ISSUE_DISCARD_5_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		__blkdev_issue_discard(NULL, 0, 0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "__blkdev_issue_discard has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_BI_DISK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_BI_DISK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		struct bio b = {
			.bi_disk = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct bio has member bi_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STREAM_OPEN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STREAM_OPEN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		stream_open(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "fs.h has stream_open" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PNV_PCI_SET_P2P -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PNV_PCI_SET_P2P
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <asm/pnv-pci.h>

static int __maybe_unused test_func (void) {

		pnv_pci_set_p2p(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pnv-pci.h has pnv_pci_set_p2p" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol interval_tree_insert exported" >&5
$as_echo_n "checking if Linux was built with symbol interval_tree_insert exported... " >&6; }
grep -q -E '[[:space:]]interval_tree_insert[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in lib/interval_tree.c; do
		grep -q -E "EXPORT_SYMBOL.*\(interval_tree_insert\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_INTERVAL_TREE_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_INTERVAL_TREE_EXPORTED 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_NFT_CHAIN_OFFLOAD_PRIORITY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NFT_CHAIN_OFFLOAD_PRIORITY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netfilter/nf_tables_offload.h>

static int __maybe_unused test_func (void) {

		nft_chain_offload_priority(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nft_chain_offload_priority is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NFT_CHAIN_OFFLOAD_SUPPORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NFT_CHAIN_OFFLOAD_SUPPORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netfilter/nf_tables_offload.h>

static int __maybe_unused test_func (void) {

		nft_chain_offload_support(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nft_chain_offload_support is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SETUP_CB_EGDEV_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SETUP_CB_EGDEV_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/act_api.h>

static int __maybe_unused test_func (void) {

		tc_setup_cb_egdev_register(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_setup_cb_egdev_register is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCF_ACTION_STATS_UPDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCF_ACTION_STATS_UPDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/act_api.h>

static int __maybe_unused test_func (void) {

		tcf_action_stats_update(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_action_stats_update is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCF_ACTION_STATS_UPDATE_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCF_ACTION_STATS_UPDATE_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/act_api.h>

static int __maybe_unused test_func (void) {

		tcf_action_stats_update(NULL, 0, 0, 0, true);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "tc_action_stats_update is defined and has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IOV_ITER_IS_BVEC_SET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IOV_ITER_IS_BVEC_SET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uio.h>

static int __maybe_unused test_func (void) {

		struct iov_iter i;

		iov_iter_is_bvec(&i);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "iov_iter_is_bvec is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_XFRM_ADD_STATE_GET_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_XFRM_ADD_STATE_GET_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		static int my_xdo_dev_state_add(struct xfrm_state *x,
						struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_state_add = my_xdo_dev_state_add,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops has member xdo_dev_state_add get extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_DEV_POLICY_ADD_GET_EXTACK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_DEV_POLICY_ADD_GET_EXTACK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

		static int my_xdo_policy_add(struct xfrm_policy *x,
						struct netlink_ext_ack *extack)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_policy_add = my_xdo_policy_add,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops has member xdo_dev_policy_add get extack" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_DEV_POLICY_ADD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_DEV_POLICY_ADD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_policy_add = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops has member xdo_dev_policy_add " > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_DEV_STATE_UPDATE_CURLFT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_DEV_STATE_UPDATE_CURLFT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_state_update_curlft = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops has member xdo_dev_state_update_curlft " > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDO_DEV_STATE_UPDATE_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDO_DEV_STATE_UPDATE_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		struct xfrmdev_ops x = {
			.xdo_dev_state_update_stats = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrmdev_ops has member xdo_dev_state_update_stats " > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PER_QUEUE_NETDEV_GENL_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PER_QUEUE_NETDEV_GENL_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/netdev_queues.h>

static int __maybe_unused test_func (void) {

		struct netdev_stat_ops nso = {
			.get_queue_stats_rx = NULL,
			.get_queue_stats_tx = NULL,
			.get_base_stats = NULL,
		};

		struct net_device netdev;
		netdev.stat_ops = &nso;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel supports v6.9 per queue netdev-genl stats" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IRQ_AFFINITY_DESC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IRQ_AFFINITY_DESC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/interrupt.h>

static int __maybe_unused test_func (void) {

		struct irq_affinity_desc x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "irq_affinity_desc is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IRQ_UPDATE_AFFINITY_HINT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IRQ_UPDATE_AFFINITY_HINT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/interrupt.h>

static int __maybe_unused test_func (void) {

		int x = irq_set_affinity_and_hint(0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "irq_set_affinity_and_hint is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SIZE_MUL_SUB_ADD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SIZE_MUL_SUB_ADD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/overflow.h>

static int __maybe_unused test_func (void) {

		size_t a = 5;
		size_t b = 6;

		if ( size_add(a,b) && size_mul(a,b) && size_sub(a,b) )
			return 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/overflow.h has size_add size_mul size_sub" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KVFREE_CALL_RCU -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KVFREE_CALL_RCU
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/rcupdate.h>

static int __maybe_unused test_func (void) {

		kvfree_call_rcu(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function kvfree_call_rcu is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KFREE_RCU_MIGHTSLEEP_MACRO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KFREE_RCU_MIGHTSLEEP_MACRO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/rcupdate.h>

static int __maybe_unused test_func (void) {

		kfree_rcu_mightsleep(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function kfree_rcu_mightsleep is defined" > "$MLNX_RDMA_MODULES_DIR/desc"


	# Test for new kvfree_call_rcu signature with void pointer (commit 04a522b7da3dbc083f8ae0aa1a6184b959a8f81c)

	if false; then

$as_echo "#define HAVE_KVFREE_CALL_RCU_VOID_PTR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KVFREE_CALL_RCU_VOID_PTR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/rcupdate.h>

static int __maybe_unused test_func (void) {

		void (*func_ptr)(struct rcu_head *, void *) = kvfree_call_rcu;
		(void)func_ptr; /* Suppress unused warning */

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kvfree_call_rcu has void ptr parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___IS_KVFREE_RCU_OFFSET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___IS_KVFREE_RCU_OFFSET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/rcupdate.h>

static int __maybe_unused test_func (void) {

		#ifdef __is_kvfree_rcu_offset
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/rcupdate.h defines __is_kvfree_rcu_offset" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FROM_TIMER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FROM_TIMER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/timer.h>

static int __maybe_unused test_func (void) {

		#ifdef from_timer
			return 0;
		#else
			#return 1;
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "from_timer macro is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_INIT_BUFF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_INIT_BUFF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		xdp_init_buff(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has xdp_init_buff" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UNDERSCORE_XDP_RXQ_INFO_REG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UNDERSCORE_XDP_RXQ_INFO_REG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		__xdp_rxq_info_reg(NULL, NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has __xdp_rxq_info_reg" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_RXQ_INFO_REG_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_RXQ_INFO_REG_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		xdp_rxq_info_reg(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has xdp_rxq_info_reg get 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_FRAME_BULK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_FRAME_BULK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		struct xdp_frame_bulk x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h struct xdp_frame_bulk exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_BUFF_HAS_FLAGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_BUFF_HAS_FLAGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		struct xdp_buff x;
		x.flags = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_buff has flags as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_BUFF_HAS_FRAME_SZ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_BUFF_HAS_FRAME_SZ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		struct xdp_buff x;
		x.frame_sz = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdp_buff has frame_sz as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_CONVERT_BUFF_TO_FRAME -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_CONVERT_BUFF_TO_FRAME
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		xdp_convert_buff_to_frame(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has xdp_convert_buff_to_frame" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_CONVERT_TO_XDP_FRAME_IN_NET_XDP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_CONVERT_TO_XDP_FRAME_IN_NET_XDP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		convert_to_xdp_frame(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has convert_to_xdp_frame" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_CONVERT_TO_XDP_FRAME_IN_UEK_KABI -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_CONVERT_TO_XDP_FRAME_IN_UEK_KABI
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uek_kabi.h>
		#include <net/xdp.h>

static int __maybe_unused test_func (void) {

		convert_to_xdp_frame(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp.h has convert_to_xdp_frame workaround for 5.4.17-2011.1.2.el8uek.x86_64" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SUPPORT_IOMMUFD_VFIO_PHYS_DEVICES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SUPPORT_IOMMUFD_VFIO_PHYS_DEVICES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio.h>

static int __maybe_unused test_func (void) {

		struct vfio_device_ops vfio_ops = {
			.bind_iommufd = NULL,
			.unbind_iommufd = NULL,
			.attach_ioas = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct vfio_device_ops has iommufd support" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DETACH_IOAS_NDO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DETACH_IOAS_NDO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio.h>

static int __maybe_unused test_func (void) {

		struct vfio_device_ops vfio_ops;

		vfio_ops.detach_ioas = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct vfio_device_ops has detach_ioas" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VFIO_COMBINE_IOVA_RANGES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VFIO_COMBINE_IOVA_RANGES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio.h>

static int __maybe_unused test_func (void) {

		vfio_combine_iova_ranges(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "has vfio_combine_iova_ranges exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VFIO_NOTIFY_IOVA_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VFIO_NOTIFY_IOVA_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio.h>

static int __maybe_unused test_func (void) {

		vfio_notify_iova_map(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "has vfio_notify_iova_map exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VFIO_PRECOPY_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VFIO_PRECOPY_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio.h>

static int __maybe_unused test_func (void) {

		struct vfio_precopy_info info = {};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "sturct vfio_precopy_info exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VFIO_PCI_CORE_INIT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VFIO_PCI_CORE_INIT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio_pci_core.h>

static int __maybe_unused test_func (void) {

		vfio_pci_core_init_dev(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "vfio_pci_core_init_dev exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VFIO_PCI_CORE_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VFIO_PCI_CORE_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vfio_pci_core.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/vfio_pci_core.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_GRO_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_GRO_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/gro.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/gro.h is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_PARAMS_NAPI_OLD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_PARAMS_NAPI_OLD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		struct page_pool_params pp = {
			.napi = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h struct page_pool_params has napi as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_PARAMS_NAPI_TYPES_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_PARAMS_NAPI_TYPES_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		struct page_pool_params pp = {
			.napi = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h struct page_pool_params has napi as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_PARAMS_HAS_NETDEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_PARAMS_HAS_NETDEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		struct page_pool_params pp = {
			.netdev = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h struct page_pool_params has netdev as member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_GET_DMA_ADDR_OLD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_GET_DMA_ADDR_OLD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		page_pool_get_dma_addr(NULL);
		page_pool_set_dma_addr(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h page_pool_get_dma_addr defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_GET_DMA_ADDR_HELPER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_GET_DMA_ADDR_HELPER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/helpers.h>

static int __maybe_unused test_func (void) {

		page_pool_get_dma_addr(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h page_pool_get_dma_addr defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_NEXTHOP_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_NEXTHOP_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/nexthop.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/nexthop.h is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_PAGE_POOL_OLD_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_PAGE_POOL_OLD_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_PAGE_POOL_TYPES_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_PAGE_POOL_TYPES_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_RELEASE_PAGE_IN_PAGE_POOL_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_RELEASE_PAGE_IN_PAGE_POOL_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		page_pool_release_page(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h has page_pool_release_page" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_PAGE_POOL_RELEASE_PAGE_IN_TYPES_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_RELEASE_PAGE_IN_TYPES_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		page_pool_release_page(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h has page_pool_release_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_PUT_UNREFED_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_PUT_UNREFED_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		page_pool_put_unrefed_page(NULL, NULL, 0, false);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h has page_pool_put_unrefed_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_DEFRAG_PAGE_IN_PAGE_POOL_TYPES_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_DEFRAG_PAGE_IN_PAGE_POOL_TYPES_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/types.h>

static int __maybe_unused test_func (void) {

		page_pool_put_defragged_page(NULL, NULL, 0, false);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h has page_pool_put_defragged_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POOL_DEFRAG_PAGE_IN_PAGE_POOL_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POOL_DEFRAG_PAGE_IN_PAGE_POOL_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		page_pool_put_defragged_page(NULL, NULL, 0, false);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/types.h has page_pool_put_defragged_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POLL_NID_CHANGED_OLD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POLL_NID_CHANGED_OLD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool.h>

static int __maybe_unused test_func (void) {

		page_pool_nid_changed(NULL,0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool.h has page_pool_nid_changed" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_POLL_NID_CHANGED_HELPERS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_POLL_NID_CHANGED_HELPERS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/page_pool/helpers.h>

static int __maybe_unused test_func (void) {

		page_pool_nid_changed(NULL,0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/page_pool/helpers.h has page_pool_nid_changed" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_DRIVER_CTX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_DRIVER_CTX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		tls_driver_ctx(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tls.h has tls_driver_ctx" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_OFFLOAD_RX_FORCE_RESYNC_REQUEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_OFFLOAD_RX_FORCE_RESYNC_REQUEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/tls.h>

static int __maybe_unused test_func (void) {

		tls_offload_rx_force_resync_request(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/tls.h has tls_offload_rx_force_resync_request" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_QUEUE_MAKE_REQUEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_QUEUE_MAKE_REQUEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_queue_make_request(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_queue_make_request existing" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PUT_UNALIGNED_LE24 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PUT_UNALIGNED_LE24
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/unaligned/generic.h>

static int __maybe_unused test_func (void) {

		put_unaligned_le24(0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "put_unaligned_le24 existing" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PART_STAT_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PART_STAT_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/part_stat.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "part_stat.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETDEV_BPF_XSK_BUFF_POOL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETDEV_BPF_XSK_BUFF_POOL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>
		#include <net/xsk_buff_pool.h>

static int __maybe_unused test_func (void) {

		struct xsk_buff_pool *x;
		struct netdev_bpf *xdp;

		xdp->xsk.pool = x;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdev_bpf struct has pool member" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IS_PCI_P2PDMA_PAGE_IN_MEMREMAP_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IS_PCI_P2PDMA_PAGE_IN_MEMREMAP_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/memremap.h>

static int __maybe_unused test_func (void) {

		is_pci_p2pdma_page(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "is_pci_p2pdma_page is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MM_GUP_MUST_UNSHARE_GET_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MM_GUP_MUST_UNSHARE_GET_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		gup_must_unshare(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mm.h has gup_must_unshare get 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ASSERT_FAULT_LOCKED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ASSERT_FAULT_LOCKED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		assert_fault_locked(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mm.h has assert_fault_locked" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IS_PCI_P2PDMA_PAGE_IN_MM_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IS_PCI_P2PDMA_PAGE_IN_MM_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		is_pci_p2pdma_page(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "is_pci_p2pdma_page is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RELEASE_PAGES_IN_MM_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RELEASE_PAGES_IN_MM_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm.h>

static int __maybe_unused test_func (void) {

		release_pages(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "mm.h has release_pages" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_FOLIO_INDEX_FIELD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_FOLIO_INDEX_FIELD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>

static int __maybe_unused test_func (void) {

		struct page p;
		p.__folio_index = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct page has __folio_index field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_T10_PI_PREPARE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_T10_PI_PREPARE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/t10-pi.h>

static int __maybe_unused test_func (void) {

		t10_pi_prepare(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "t10_pi_prepare is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_BUSY_TAG_ITER_FN_BOOL_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_BUSY_TAG_ITER_FN_BOOL_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

		static bool
		nvme_cancel_request(struct request *req, void *data) {
			return true;
		}

static int __maybe_unused test_func (void) {

		busy_tag_iter_fn *fn = nvme_cancel_request;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has busy_tag_iter_fn return bool" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_BUSY_TAG_ITER_FN_BOOL_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_BUSY_TAG_ITER_FN_BOOL_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

		static bool
		nvme_cancel_request(struct request *req, void *data, bool reserved) {
			return true;
		}

static int __maybe_unused test_func (void) {

		busy_tag_iter_fn *fn = nvme_cancel_request;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has busy_tag_iter_fn return bool" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_POLL_1_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_POLL_1_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

		static int nvme_poll(struct blk_mq_hw_ctx *hctx) {
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct blk_mq_ops ops = {
			.poll = nvme_poll,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct blk_mq_ops has poll 1 arg" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BITMAP_ZALLOC_NODE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BITMAP_ZALLOC_NODE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/bitmap.h>

static int __maybe_unused test_func (void) {

		unsigned long *bmap;

		bmap = bitmap_zalloc_node(1, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bitmap_zalloc_node is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_MAP_SGTABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_MAP_SGTABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		int i = dma_map_sgtable(NULL, NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma-mapping.h has dma_map_sgtable" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_HTB_COMMAND_HAS_MOVED_QID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_HTB_COMMAND_HAS_MOVED_QID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/pkt_cls.h>

static int __maybe_unused test_func (void) {

		struct tc_htb_qopt_offload *x;
		x->moved_qid = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct tc_htb_command has moved_qid" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_COMPLETE_REQUEST_SYNC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_COMPLETE_REQUEST_SYNC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_complete_request_sync(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk-mq.h has blk_mq_complete_request_sync" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_TYPES_REQ_HIPRI -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_TYPES_REQ_HIPRI
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		int x = REQ_HIPRI;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "REQ_HIPRI is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TASKLET_SETUP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TASKLET_SETUP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/interrupt.h>

static int __maybe_unused test_func (void) {

		tasklet_setup(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "interrupt.h has tasklet_setup" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_DMA_MAP_BVEC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_DMA_MAP_BVEC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>
		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		struct bio_vec bv = {};

		dma_map_bvec(NULL, &bv, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma_map_bvec exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_INDR_BLOCK_CB_ALLOC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_INDR_BLOCK_CB_ALLOC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		flow_indr_block_cb_alloc(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_indr_block_cb_alloc exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_BLOCK_CB -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_BLOCK_CB
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_block_cb a;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct flow_block_cb exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SG_ALLOC_TABLE_CHAINED_NENTS_FIRST_CHUNK_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SG_ALLOC_TABLE_CHAINED_NENTS_FIRST_CHUNK_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/scatterlist.h>

static int __maybe_unused test_func (void) {

		sg_alloc_table_chained(NULL, 0, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "sg_alloc_table_chained has nents_first_chunk parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_TO_QC_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_TO_QC_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		request_to_qc_t(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has request_to_qc_t" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_REQUEST_COMPLETED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_REQUEST_COMPLETED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_request_completed(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has blk_mq_request_completed" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_TAGSET_WAIT_COMPLETED_REQUEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_TAGSET_WAIT_COMPLETED_REQUEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_tagset_wait_completed_request(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has blk_mq_tagset_wait_completed_request" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPO_SECURE_PORT_NO_RETURN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPO_SECURE_PORT_NO_RETURN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

		void secure_port(struct svc_rqst *rqstp)
		{
			return;
		}

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops check_rdma_ops;

		check_rdma_ops.xpo_secure_port = secure_port;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xpo_secure_port is defined and returns void" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_RQST_RQ_XPRT_HLEN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_RQST_RQ_XPRT_HLEN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc.h>

static int __maybe_unused test_func (void) {

		struct svc_rqst rqst;

		rqst.rq_xprt_hlen = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_rqst has rq_xprt_hlen" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_SERV_SV_CB_LIST_LWQ -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_SERV_SV_CB_LIST_LWQ
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc.h>

static int __maybe_unused test_func (void) {

		struct svc_serv serv;
		struct lwq      list;

		serv.sv_cb_list = list;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_serv has sv_cb_list" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_SERV_SV_CB_LIST_LIST_HEAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_SERV_SV_CB_LIST_LIST_HEAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc.h>

static int __maybe_unused test_func (void) {

		struct svc_serv serv;
		struct list_head list;

		serv.sv_cb_list = list;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_serv has sv_cb_list" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPCSVC_MAXPAGES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPCSVC_MAXPAGES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc.h>

static int __maybe_unused test_func (void) {

			int pages = RPCSVC_MAXPAGES;

			return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "RPCSVC_MAXPAGES macro is defined" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol svc_pool_wake_idle_thread exported" >&5
$as_echo_n "checking if Linux was built with symbol svc_pool_wake_idle_thread exported... " >&6; }
grep -q -E '[[:space:]]svc_pool_wake_idle_thread[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/svc.c; do
		grep -q -E "EXPORT_SYMBOL.*\(svc_pool_wake_idle_thread\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_POOL_WAKE_IDLE_THREAD 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_POOL_WAKE_IDLE_THREAD 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_XPRT_OPS_SEND_REQUEST_RQST_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPRT_OPS_SEND_REQUEST_RQST_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

		int send_request(struct rpc_rqst *req);
		int send_request(struct rpc_rqst *req)
		{
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct rpc_xprt_ops ops;

		ops.send_request = send_request;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "*send_request has 'struct rpc_rqst *req' as a param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPRT_REQUEST_GET_CONG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPRT_REQUEST_GET_CONG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		return xprt_request_get_cong(NULL, NULL);

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "get cong request" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_XPRT_XPO_SECURE_PORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_XPRT_XPO_SECURE_PORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops dummy_svc_ops;

		dummy_svc_ops.xpo_secure_port = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_xprt_ops 'xpo_secure_port' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_XPRT_XPO_PREP_REPLY_HDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_XPRT_XPO_PREP_REPLY_HDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops dummy_svc_ops;

		dummy_svc_ops.xpo_prep_reply_hdr = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_xprt_ops 'xpo_prep_reply_hdr' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPO_READ_PAYLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPO_READ_PAYLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops dummy_svc_ops;

		dummy_svc_ops.xpo_read_payload = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_xprt_ops has 'xpo_read_payload' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPO_RESULT_PAYLOAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPO_RESULT_PAYLOAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops dummy_svc_ops;

		dummy_svc_ops.xpo_result_payload = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_xprt_ops has 'xpo_result_payload' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPO_RELEASE_CTXT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPO_RELEASE_CTXT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		struct svc_xprt_ops dummy_svc_ops;

		dummy_svc_ops.xpo_release_ctxt = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_xprt_ops has 'xpo_release_ctxt' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPC_XPRT_OPS_SET_RETRANS_TIMEOUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_OPS_SET_RETRANS_TIMEOUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct rpc_xprt_ops dummy_ops;

		dummy_ops.set_retrans_timeout = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt_ops has 'set_retrans_timeout' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPC_XPRT_OPS_WAIT_FOR_REPLY_REQUEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_OPS_WAIT_FOR_REPLY_REQUEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct rpc_xprt_ops dummy_ops;

		dummy_ops.wait_for_reply_request = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt_ops has 'wait_for_reply_request' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPRT_QUEUE_LOCK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPRT_QUEUE_LOCK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		spinlock_t *dummy_lock;
		struct rpc_xprt dummy_xprt;

		dummy_lock = &dummy_xprt.queue_lock;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt has 'queue_lock' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPRT_WAIT_FOR_BUFFER_SPACE_RQST_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPRT_WAIT_FOR_BUFFER_SPACE_RQST_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

		/* If it is stack, we get error that frame is too large: */
		static struct rpc_xprt xprt;

static int __maybe_unused test_func (void) {

		xprt_wait_for_buffer_space(&xprt);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xprt_wait_for_buffer_space has xprt as a parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPC_XPRT_RECV_LOCK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_RECV_LOCK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		spinlock_t *dummy_lock;
		struct rpc_xprt dummy_xprt;

		dummy_lock = &dummy_xprt.recv_lock;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt has 'recv_lock' field" > "$MLNX_RDMA_MODULES_DIR/desc"




	if false; then

$as_echo "#define HAVE_RPC_XPRT_XPRT_CLASS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_XPRT_CLASS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct rpc_xprt dummy_xprt;

		dummy_xprt.xprt_class = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt has 'xprt_class' field" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol xprt_reconnect_delay exported" >&5
$as_echo_n "checking if Linux was built with symbol xprt_reconnect_delay exported... " >&6; }
grep -q -E '[[:space:]]xprt_reconnect_delay[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(xprt_reconnect_delay\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_RECONNECT_DELAY 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_RECONNECT_DELAY 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_RPC_XPRT_OPS_BC_NUM_SLOTS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_OPS_BC_NUM_SLOTS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct rpc_xprt_ops dummy_ops;

		dummy_ops.bc_num_slots = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt_ops has 'bc_num_slots' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPC_XPRT_OPS_BC_UP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPC_XPRT_OPS_BC_UP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct rpc_xprt_ops dummy_ops;

		dummy_ops.bc_up = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct rpc_xprt_ops has 'bc_up' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XPRT_CLASS_NETID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XPRT_CLASS_NETID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xprt.h>

static int __maybe_unused test_func (void) {

		struct xprt_class xc;

		xc.netid;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xprt_class has 'netid' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SYSCTL_ZERO_ENABLED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SYSCTL_ZERO_ENABLED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysctl.h>

static int __maybe_unused test_func (void) {

		void *dummy;

		dummy = SYSCTL_ZERO;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/sysctl.h has SYSCTL_ZERO defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CTL_TABLE_CHILD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CTL_TABLE_CHILD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysctl.h>

static int __maybe_unused test_func (void) {

		 struct ctl_table dummy_table;

		dummy_table.child = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct ctl_table have "child" field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDRBUF_SPARSE_PAGES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDRBUF_SPARSE_PAGES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		int dummy;

		dummy = XDRBUF_SPARSE_PAGES;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "XDRBUF_SPARSE_PAGES has defined in linux/sunrpc/xdr.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_INIT_ENCODE_RQST_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_INIT_ENCODE_RQST_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		struct rpc_rqst *rqst = NULL;

		xdr_init_encode(NULL, NULL, NULL, rqst);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_init_encode has rqst as a parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_INIT_DECODE_RQST_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_INIT_DECODE_RQST_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		struct rpc_rqst *rqst = NULL;

		xdr_init_decode(NULL, NULL, NULL, rqst);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_init_decode has rqst as a parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_RDMA_RECV_CTXT_RC_STREAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_RDMA_RECV_CTXT_RC_STREAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>
		#include <linux/sunrpc/svc_rdma.h>

static int __maybe_unused test_func (void) {

		struct xdr_stream dummy_stream;
		struct svc_rdma_recv_ctxt dummy_rctxt;

		dummy_rctxt.rc_stream = dummy_stream;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_rdma_recv_ctxt has 'rc_stream' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVCXPRT_RDMA_SC_PENDING_RECVS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVCXPRT_RDMA_SC_PENDING_RECVS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_rdma.h>

static int __maybe_unused test_func (void) {

		struct svcxprt_rdma dummy_rdma;

		dummy_rdma.sc_pending_recvs = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svcxprt_rdma has 'sc_pending_recvs' field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_ENCODE_RDMA_SEGMENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_ENCODE_RDMA_SEGMENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>
		#include <linux/sunrpc/rpc_rdma.h>

static int __maybe_unused test_func (void) {

		xdr_encode_rdma_segment(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_encode_rdma_segment has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RPCRDMA_RN_REGISTER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RPCRDMA_RN_REGISTER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/rdma_rn.h>

static int __maybe_unused test_func (void) {

		rpcrdma_rn_register(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rpcrdma_rn_register has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_DECODE_RDMA_SEGMENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_DECODE_RDMA_SEGMENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>
		#include <linux/sunrpc/rpc_rdma.h>

static int __maybe_unused test_func (void) {

		xdr_decode_rdma_segment(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_decode_rdma_segment has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_STREAM_ENCODE_ITEM_ABSENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_STREAM_ENCODE_ITEM_ABSENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		xdr_stream_encode_item_absent(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_stream_encode_item_absent has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_ITEM_IS_ABSENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_ITEM_IS_ABSENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		xdr_item_is_absent(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_item_is_absent has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDR_BUF_SUBSEGMENT_CONST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDR_BUF_SUBSEGMENT_CONST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>

static int __maybe_unused test_func (void) {

		const struct xdr_buf *dummy;
		xdr_buf_subsegment(dummy, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xdr_buf_subsegment get const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_XPRT_IS_DEAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_XPRT_IS_DEAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_xprt.h>

static int __maybe_unused test_func (void) {

		svc_xprt_is_dead(NULL);

        return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "svc_xprt_is_dead has defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_RDMA_RELEASE_RQST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_RDMA_RELEASE_RQST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_rdma.h>

static int __maybe_unused test_func (void) {

		svc_rdma_release_rqst(NULL);

        return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "svc_rdma_release_rqst has externed" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol xprt_add_backlog exported" >&5
$as_echo_n "checking if Linux was built with symbol xprt_add_backlog exported... " >&6; }
grep -q -E '[[:space:]]xprt_add_backlog[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(xprt_add_backlog\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_ADD_BACKLOG 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_ADD_BACKLOG 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol xprt_lock_connect exported" >&5
$as_echo_n "checking if Linux was built with symbol xprt_lock_connect exported... " >&6; }
grep -q -E '[[:space:]]xprt_lock_connect[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(xprt_lock_connect\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_LOCK_CONNECT 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_XPRT_LOCK_CONNECT 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol svc_xprt_deferred_close exported" >&5
$as_echo_n "checking if Linux was built with symbol svc_xprt_deferred_close exported... " >&6; }
grep -q -E '[[:space:]]svc_xprt_deferred_close[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/svc_xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(svc_xprt_deferred_close\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_DEFERRED_CLOSE 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_DEFERRED_CLOSE 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol svc_xprt_received exported" >&5
$as_echo_n "checking if Linux was built with symbol svc_xprt_received exported... " >&6; }
grep -q -E '[[:space:]]svc_xprt_received[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/svc_xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(svc_xprt_received\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_RECEIVED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_RECEIVED 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol svc_xprt_close exported" >&5
$as_echo_n "checking if Linux was built with symbol svc_xprt_close exported... " >&6; }
grep -q -E '[[:space:]]svc_xprt_close[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/svc_xprt.c; do
		grep -q -E "EXPORT_SYMBOL.*\(svc_xprt_close\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_CLOSE 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_SVC_XPRT_CLOSE 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_TRACE_RPCRDMA_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TRACE_RPCRDMA_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/svc_rdma.h>
		#include "../../net/sunrpc/xprtrdma/xprt_rdma.h"

		#include <trace/events/rpcrdma.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rpcrdma.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SVC_RDMA_PCL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SVC_RDMA_PCL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sunrpc/xdr.h>
		#include <linux/sunrpc/svc_rdma_pcl.h>

static int __maybe_unused test_func (void) {

		struct svc_rdma_pcl *pcl;

		pcl = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct svc_rdma_pcl exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CLASS_CREATE_GET_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CLASS_CREATE_GET_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device/class.h>

static int __maybe_unused test_func (void) {

	        static struct class *uverbs_class;
		uverbs_class = class_create("Test");

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "class_create get 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SHOW_CLASS_ATTR_STRING_GET_CONST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SHOW_CLASS_ATTR_STRING_GET_CONST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device/class.h>

static int __maybe_unused test_func (void) {

	        const struct class *uverbs_class;
	        const struct class_attribute *uverbs_attr;

		show_class_attr_string(uverbs_class, uverbs_attr, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "show_class_attr_string get const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CLASS_REGISTER_GET_CONST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CLASS_REGISTER_GET_CONST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/device/class.h>

static int __maybe_unused test_func (void) {

	        const struct class *c = NULL;
		int ret;

		ret = class_register(c);

		return ret;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "class_register get const" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___NETDEV_TX_SENT_QUEUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___NETDEV_TX_SENT_QUEUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/netdevice.h>

static int __maybe_unused test_func (void) {

		#pragma GCC diagnostic ignored "-Warray-bounds"
		__netdev_tx_sent_queue(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netdevice.h has __netdev_tx_sent_queue" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MSI_MAP_TMP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MSI_MAP_TMP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/msi_api.h>

static int __maybe_unused test_func (void) {

		struct msi_map x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "msi_map exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_DISSECTOR_KEY_META -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_DISSECTOR_KEY_META
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		enum flow_dissector_key_id keyid = FLOW_DISSECTOR_KEY_META;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_DISSECTOR_KEY_META is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_IS_GENEVE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_IS_GENEVE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/if.h>
		#include <net/geneve.h>

static int __maybe_unused test_func (void) {

		netif_is_geneve(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_is_geneve is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_IS_GRETAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_IS_GRETAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/if.h>
		#include <net/gre.h>

static int __maybe_unused test_func (void) {

		struct net_device dev = {};

		netif_is_gretap(&dev);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_is_gretap is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_IS_VXLAN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_IS_VXLAN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/vxlan.h>

static int __maybe_unused test_func (void) {

		struct net_device dev = {};

		netif_is_vxlan(&dev);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_is_vxlan is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_LINUX_MEI_UUID_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_LINUX_MEI_UUID_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/mei_uuid.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uapi/linux/mei_uuid.h is exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NET_BAREUDP_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NET_BAREUDP_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/bareudp.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/bareudp.h is exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_PSAMPLE_METADATA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_PSAMPLE_METADATA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>
		#include <net/psample.h>

static int __maybe_unused test_func (void) {

		struct psample_metadata *x;
		x->trunc_size = 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/psample.h has struct psample_metadata" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NETIF_IS_BAREUDP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NETIF_IS_BAREUDP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/bareudp.h>

static int __maybe_unused test_func (void) {

		netif_is_bareudp(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "netif_is_bareudp is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_REQ_BVEC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_REQ_BVEC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>
		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		req_bvec(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has req_bvec" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_P2PDMA_MAP_SG_ATTRS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_P2PDMA_MAP_SG_ATTRS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci-p2pdma.h>

static int __maybe_unused test_func (void) {

		pci_p2pdma_map_sg_attrs(NULL, NULL, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci_p2pdma_map_sg_attrs defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UAPI_LINUX_NVME_PASSTHRU_CMD64 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UAPI_LINUX_NVME_PASSTHRU_CMD64
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme_ioctl.h>
		#include <linux/types.h>
		#include <uapi/asm-generic/ioctl.h>

static int __maybe_unused test_func (void) {

		struct nvme_passthru_cmd64 cmd = {};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uapi/linux/nvme_ioctl.h has struct nvme_passthru_cmd64" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_QUEUE_BACKING_DEV_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_QUEUE_BACKING_DEV_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct backing_dev_info *bdi = NULL;
		struct request_queue rq = {
			.backing_dev_info = bdi,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct request_queue has backing_dev_info" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_QUEUE_EMPTY_LOCKLESS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_QUEUE_EMPTY_LOCKLESS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		skb_queue_empty_lockless(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h has skb_queue_empty_lockless" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_DRIVER_MANAGED_DMA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_DRIVER_MANAGED_DMA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		struct pci_driver core_driver = {
			.driver_managed_dma = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct pci_driver has member driver_managed_dma" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCIE_ASPM_ENABLED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCIE_ASPM_ENABLED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pcie_aspm_enabled(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/pci.h has pcie_aspm_enabled" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MACSEC_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MACSEC_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/macsec.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XDP_SOCK_DRV_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XDP_SOCK_DRV_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/xdp_sock_drv.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XSK_BUFF_DMA_SYNC_FOR_CPU_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XSK_BUFF_DMA_SYNC_FOR_CPU_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xdp_sock_drv.h>

static int __maybe_unused test_func (void) {

		xsk_buff_dma_sync_for_cpu(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "xsk_buff_dma_sync_for_cpu get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UNITS_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UNITS_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/units.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/units.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REMOVE_SENTINEL_FROM_CTL_TABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REMOVE_SENTINEL_FROM_CTL_TABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysctl.h>

static int __maybe_unused test_func (void) {

		struct ctl_table_header cth;

		cth.ctl_table_size = 1;
		register_sysctl_sz(NULL, NULL, 1);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "v6.6 remove sentinel from ctl_table array is supported" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PROC_HANDLER_CONST_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PROC_HANDLER_CONST_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysctl.h>

static int __maybe_unused test_func (void) {

		struct ctl_table dummy_table;
		const struct ctl_table *ctl = &dummy_table;

		dummy_table.proc_handler(ctl, 0, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "proc_handler has const parameter" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_BIO_INTEGRITY_BYTES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_BIO_INTEGRITY_BYTES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bio_integrity_bytes(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has bio_integrity_bytes" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ESP_OUTPUT_FILL_TRAILER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ESP_OUTPUT_FILL_TRAILER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>
		#include <net/esp.h>

static int __maybe_unused test_func (void) {

		esp_output_fill_trailer(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "esp_output_fill_trailer is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_QUEUE_MAX_ACTIVE_ZONES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_QUEUE_MAX_ACTIVE_ZONES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_queue_max_active_zones(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_queue_max_active_zones exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SET_CAPACITY_REVALIDATE_AND_NOTIFY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SET_CAPACITY_REVALIDATE_AND_NOTIFY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		set_capacity_revalidate_and_notify(NULL, 0, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has set_capacity_revalidate_and_notify" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLOCK_DEVICE_OPERATIONS_SUBMIT_BIO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLOCK_DEVICE_OPERATIONS_SUBMIT_BIO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct block_device_operations ops = {
			.submit_bio = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct block_device_operations has submit_bio" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_QUEUE_SPLIT_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_QUEUE_SPLIT_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_queue_split(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_queue_split has 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_SPLIT_TO_LIMITS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_SPLIT_TO_LIMITS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bio_split_to_limits(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has bio_split_to_limits" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SUBMIT_BIO_NOACCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SUBMIT_BIO_NOACCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		submit_bio_noacct(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "submit_bio_noacct exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_SHOULD_FAKE_TIMEOUT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_SHOULD_FAKE_TIMEOUT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_should_fake_timeout(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has blk_should_fake_timeout" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_COMPLETE_REQUEST_REMOTE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_COMPLETE_REQUEST_REMOTE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_complete_request_remote(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has blk_mq_complete_request_remote" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TRACE_BLOCK_BIO_COMPLETE_2_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TRACE_BLOCK_BIO_COMPLETE_2_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <trace/events/block.h>

static int __maybe_unused test_func (void) {

		trace_block_bio_complete(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "trace_block_bio_complete has 2 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IP_SOCK_SET_TOS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IP_SOCK_SET_TOS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/ip.h>

static int __maybe_unused test_func (void) {

		ip_sock_set_tos(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/ip.h has ip_sock_set_tos" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SKB_TCP_ALL_HEADERS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SKB_TCP_ALL_HEADERS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/tcp.h>

static int __maybe_unused test_func (void) {

		skb_tcp_all_headers(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/tcp.h has skb_tcp_all_headers" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCP_SOCK_SET_SYNCNT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCP_SOCK_SET_SYNCNT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/tcp.h>

static int __maybe_unused test_func (void) {

		tcp_sock_set_syncnt(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/tcp.h has tcp_sock_set_syncnt" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TCP_SOCK_SET_NODELAY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TCP_SOCK_SET_NODELAY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/tcp.h>

static int __maybe_unused test_func (void) {

		tcp_sock_set_nodelay(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/tcp.h has tcp_sock_set_nodelay" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_ISSUE_FLUSH_2_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_ISSUE_FLUSH_2_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blkdev_issue_flush(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev_issue_flush has 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SOCK_NO_LINGER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SOCK_NO_LINGER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		sock_no_linger(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/sock.h has sock_no_linger" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SOCK_SET_PRIORITY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SOCK_SET_PRIORITY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		sock_set_priority(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/sock.h has sock_set_priority" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SOCK_SET_REUSEADDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SOCK_SET_REUSEADDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		sock_set_reuseaddr(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/sock.h has sock_set_reuseaddr" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SENDPAGE_OK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SENDPAGE_OK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/net.h>

static int __maybe_unused test_func (void) {

		sendpage_ok(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/net.h has sendpage_ok" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENUM_CSID_X86_ART -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENUM_CSID_X86_ART
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/clocksource_ids.h>

static int __maybe_unused test_func (void) {

		int tmp = CSID_X86_ART;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "clocksource_ids has CSID_X86_ART" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PTP_FIND_PIN_UNLOCK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PTP_FIND_PIN_UNLOCK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ptp_clock_kernel.h>

static int __maybe_unused test_func (void) {

		ptp_find_pin_unlocked(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ptp_find_pin_unlocked is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_OFFLOAD_PACKET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_OFFLOAD_PACKET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/xfrm.h>

static int __maybe_unused test_func (void) {

		int a = XFRM_OFFLOAD_PACKET;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "XFRM_OFFLOAD_PACKET is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_XFRM_OFFLOAD_INNER_IPPROTO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_XFRM_OFFLOAD_INNER_IPPROTO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/xfrm.h>

static int __maybe_unused test_func (void) {

		struct xfrm_offload xo = {
			.inner_ipproto = 4,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct xfrm_offload has inner_ipproto" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BD_SET_NR_SECTORS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BD_SET_NR_SECTORS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bd_set_nr_sectors(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has bd_set_nr_sectors" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_FLAG_STABLE_WRITES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_FLAG_STABLE_WRITES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = QUEUE_FLAG_STABLE_WRITES;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "QUEUE_FLAG_STABLE_WRITES is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REVALIDATE_DISK_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REVALIDATE_DISK_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		revalidate_disk_size(NULL, false);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has revalidate_disk_size" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_SET_REQUEST_COMPLETE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_SET_REQUEST_COMPLETE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_set_request_complete(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has blk_mq_set_request_complete" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_ALLOC_QUEUE_RH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_ALLOC_QUEUE_RH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_alloc_queue_rh(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has blk_alloc_queue_rh" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_BDEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_BDEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>
		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct block_device *bdev = NULL;
		struct request rq = { .part = bdev };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct request has block_device" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_ISSUE_FLUSH_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_ISSUE_FLUSH_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blkdev_issue_flush(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev_issue_flush has 1 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_MAX_SEGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_MAX_SEGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_max_segs(0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if bio.h has bio_max_segs" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TRACE_BLOCK_BIO_REMAP_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TRACE_BLOCK_BIO_REMAP_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <trace/events/block.h>

static int __maybe_unused test_func (void) {

		trace_block_bio_remap(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "trace_block_bio_remap has 4 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BD_SET_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BD_SET_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bd_set_size(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has bd_set_size" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_NOWAIT_5_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_NOWAIT_5_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq_nowait(NULL, NULL, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq_nowait has 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_NOWAIT_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_NOWAIT_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>
		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq_nowait(NULL, NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq_nowait has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_NOWAIT_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_NOWAIT_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq_nowait(NULL, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq_nowait has 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_NOWAIT_2_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_NOWAIT_2_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq_nowait(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq_nowait has 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq(NULL, NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq  has 4 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENUM_BIO_REMAPPED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENUM_BIO_REMAPPED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		int tmp = BIO_REMAPPED;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct enum has member BIO_REMAPPED" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SRIOV_GET_SET_MSIX_VEC_COUNT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SRIOV_GET_SET_MSIX_VEC_COUNT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		struct pci_driver core_driver = {
			.sriov_get_vf_total_msix = NULL,
			.sriov_set_msix_vec_count = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct pci_driver has member sriov_get_vf_total_msix/sriov_set_msix_vec_count" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_BI_BDEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_BI_BDEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		struct bio b = {
			.bi_bdev = NULL,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct bio has member bi_bdev" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_NR_SECTORS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_NR_SECTORS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_nr_sectors(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has bdev_nr_sectors" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_BLK_STS_ZONE_ACTIVE_RESOURCE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_BLK_STS_ZONE_ACTIVE_RESOURCE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		blk_status_t error = BLK_STS_ZONE_ACTIVE_RESOURCE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_types.h has BLK_STS_ZONE_ACTIVE_RESOURCE" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_SET_MIN_ALIGN_MASK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_SET_MIN_ALIGN_MASK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_set_min_align_mask(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma_set_min_align_mask is defined in dma-mapping" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_FOR_EACH_BVEC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_FOR_EACH_BVEC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		  #include <linux/bio.h>

static int __maybe_unused test_func (void) {

		  struct bio *bio;
		  struct bvec_iter bi;
		  struct bio_vec bv;

		  bio_for_each_bvec(bv, bio, bi);

		  return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio_for_each_bvec is defined in bio.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_HCTX_SET_FQ_LOCK_CLASS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_HCTX_SET_FQ_LOCK_CLASS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_hctx_set_fq_lock_class(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk-mq.h has blk_mq_hctx_set_fq_lock_class" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_MAX_VECS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_MAX_VECS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		int x = BIO_MAX_VECS;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if bio.h has BIO_MAX_VECS" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_BIO_PREP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_BIO_PREP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_rq_bio_prep(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if blk-mq.h has blk_rq_bio_prep" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_ALLOC_DISK_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_ALLOC_DISK_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_alloc_disk(0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has blk_alloc_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PUT_UNALIGNED_LE24_ASM_GENERIC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PUT_UNALIGNED_LE24_ASM_GENERIC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <asm-generic/unaligned.h>

static int __maybe_unused test_func (void) {

		put_unaligned_le24(0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "put_unaligned_le24 existing in asm-generic/unaligned.h" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENHD_FL_UP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENHD_FL_UP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = GENHD_FL_UP;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has GENHD_FL_UP" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_ALLOC_DISK_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_ALLOC_DISK_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_alloc_disk(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_alloc_disk is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_POLL_2_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_POLL_2_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

		static int nvme_poll(struct blk_mq_hw_ctx *hctx,
				     struct io_comp_batch *iob) {
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct blk_mq_ops ops = {
			.poll = nvme_poll,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct blk_mq_ops has poll 2 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_BI_COOKIE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_BI_COOKIE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		struct bio b = {
			.bi_cookie = 0,
		};
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct bio has member bi_cookie" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVICE_ADD_DISK_RETURN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVICE_ADD_DISK_RETURN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int ret = device_add_disk(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has device_add_disk retrun" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FS_KIOCB_KI_COMPLETE_2_ARG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FS_KIOCB_KI_COMPLETE_2_ARG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

		static void func(struct kiocb *iocb, long ret) {
			return;
		}

static int __maybe_unused test_func (void) {

		struct kiocb x = {
			.ki_complete = func,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/fs.h has struct kiocb ki_complete 2 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_2_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_2_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_execute_rq(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq has 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENHD_FL_EXT_DEVT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENHD_FL_EXT_DEVT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = GENHD_FL_EXT_DEVT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has GENHD_FL_EXT_DEVT" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQ_RQ_DISK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQ_RQ_DISK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct request rq = { .rq_disk = NULL };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct request has rq_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_QUEUE_RQS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_QUEUE_RQS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_ops ops = {
			.queue_rqs = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct blk_mq_ops has queue_rqs" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_NR_BYTES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_NR_BYTES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_nr_bytes(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_nr_bytes exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_VENDOR_ID_REDHAT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_VENDOR_ID_REDHAT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci_ids.h>

static int __maybe_unused test_func (void) {

		int x = PCI_VENDOR_ID_REDHAT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "PCI_VENDOR_ID_REDHAT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ACPI_STORAGE_D3 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ACPI_STORAGE_D3
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/acpi.h>

static int __maybe_unused test_func (void) {

		acpi_storage_d3(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "acpi_storage_d3 exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PARAM_SET_UINT_MINMAX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PARAM_SET_UINT_MINMAX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/moduleparam.h>

static int __maybe_unused test_func (void) {

		param_set_uint_minmax(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/moduleparam.h has param_set_uint_minmax" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_EXPORT_SYMBOL_NS_GPL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_EXPORT_SYMBOL_NS_GPL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/export.h>

static int __maybe_unused test_func (void) {


		#ifdef EXPORT_SYMBOL_NS_GPL
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/export.h defines EXPORT_SYMBOL_NS_GPL" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___EXPORT_SYMBOL_REF -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___EXPORT_SYMBOL_REF
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/export.h>

static int __maybe_unused test_func (void) {


		#ifdef __EXPORT_SYMBOL_REF /* ddb5cdbafaaa, v6.5 and above */
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/export.h defines __EXPORT_SYMBOL_REF" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE___EXPORT_SYMBOL_NS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE___EXPORT_SYMBOL_NS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/export.h>

static int __maybe_unused test_func (void) {


		#ifdef __EXPORT_SYMBOL_NS /* v5.4 only */
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/export.h defines __EXPORT_SYMBOL_NS" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_WAIT_QUIESCE_DONE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_WAIT_QUIESCE_DONE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_wait_quiesce_done(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_wait_quiesce_done is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_WAIT_QUIESCE_DONE_TAGSET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_WAIT_QUIESCE_DONE_TAGSET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_tag_set set = {0};

		blk_mq_wait_quiesce_done(&set);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_wait_quiesce_done with tagset param is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_TIMEOUT_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_TIMEOUT_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>
		#include <linux/blkdev.h>

		static enum blk_eh_timer_return
		timeout_dummy(struct request *req) {
			return 0;
		}

static int __maybe_unused test_func (void) {

		struct blk_mq_ops ops_dummy;

		ops_dummy.timeout = timeout_dummy;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "timeout from struct blk_mq_ops has 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_DESTROY_QUEUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_DESTROY_QUEUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_destroy_queue(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_destroy_queue is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_EXECUTE_RQ_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_EXECUTE_RQ_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>
		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_status_t x = blk_execute_rq(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_execute_rq has 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DISK_UEVENT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DISK_UEVENT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		disk_uevent(NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "disk_uevent exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FC_APPID_LEN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FC_APPID_LEN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-cgroup.h>

static int __maybe_unused test_func (void) {

		int x = FC_APPID_LEN;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FC_APPID_LEN is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BVEC_VIRT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BVEC_VIRT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>
		#include <linux/bvec.h>

static int __maybe_unused test_func (void) {

		bvec_virt(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/bvec.h has bvec_virt" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SOCK_SETOPTVAL_SOCKPTR_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SOCK_SETOPTVAL_SOCKPTR_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		sockptr_t optval = {};

		sock_setsockopt(NULL, 0, 0, optval, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/sock.h has sock_setsockopt sockptr_t" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_NEXT_BIO_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_NEXT_BIO_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		blk_next_bio(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio.h blk_next_bio has 3 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DISK_UPDATE_READAHEAD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DISK_UPDATE_READAHEAD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		disk_update_readahead(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "disk_update_readahead exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VMALLOC_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VMALLOC_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/vmalloc.h>

static int __maybe_unused test_func (void) {

		__vmalloc(0, 0, PAGE_KERNEL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/vmalloc.h has __vmalloc 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_INIT_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_INIT_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_init(NULL, NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio.h bio_init has 5 parameters" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_ADD_ZONE_APPEND_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_ADD_ZONE_APPEND_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_add_zone_append_page(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio.h has bio_add_zone_append_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_CLEANUP_DISK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_CLEANUP_DISK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct gendisk *disk;

		blk_cleanup_disk(disk);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_cleanup_disk() is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENDISK_CONV_ZONES_BITMAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENDISK_CONV_ZONES_BITMAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct gendisk disk;

		disk.conv_zones_bitmap = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct gendisk has conv_zones_bitmap" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_NR_ZONES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_NR_ZONES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_nr_zones(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has bdev_nr_zones" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_QUEUE_ZONE_SECTORS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_QUEUE_ZONE_SECTORS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_queue_zone_sectors(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has blk_queue_zone_sectors" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PTP_PEROUT_DUTY_CYCLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PTP_PEROUT_DUTY_CYCLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/ptp_clock.h>

static int __maybe_unused test_func (void) {

		int x = PTP_PEROUT_DUTY_CYCLE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "PTP_PEROUT_DUTY_CYCLE is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_MACSEC_INFO_METADATA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_MACSEC_INFO_METADATA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/dst_metadata.h>

static int __maybe_unused test_func (void) {

		struct macsec_info info = {};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/dst_metadata.h has struct macsec_info" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUNC_MACSEC_GET_REAL_DEV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUNC_MACSEC_GET_REAL_DEV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		macsec_get_real_dev(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/macsec.c has function macsec_get_real_dev" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RX_USES_MD_DST_IN_MACSEC_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RX_USES_MD_DST_IN_MACSEC_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		struct macsec_ops ops;
		ops.rx_uses_md_dst = true;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "macsec_ops has boolean field rx_uses_md_dst" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_DISSECTOR_F_STOP_BEFORE_ENCAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_DISSECTOR_F_STOP_BEFORE_ENCAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_dissector.h>

static int __maybe_unused test_func (void) {

		int x = FLOW_DISSECTOR_F_STOP_BEFORE_ENCAP;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "FLOW_DISSECTOR_F_STOP_BEFORE_ENCAP is defined" > "$MLNX_RDMA_MODULES_DIR/desc"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux was built with symbol rpc_task_gfp_mask exported" >&5
$as_echo_n "checking if Linux was built with symbol rpc_task_gfp_mask exported... " >&6; }
grep -q -E '[[:space:]]rpc_task_gfp_mask[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
rc=$?
if test $rc -ne 0; then
	export=0
	for file in net/sunrpc/sched.c; do
		grep -q -E "EXPORT_SYMBOL.*\(rpc_task_gfp_mask\)" "$LINUX/$file" 2>/dev/null
		rc=$?
		if test $rc -eq 0; then
			export=1
			break;
		fi
	done
	if test $export -eq 0; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_RPC_TASK_GPF_MASK_EXPORTED 1" >>confdefs.h

	fi
else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define HAVE_RPC_TASK_GPF_MASK_EXPORTED 1" >>confdefs.h

fi



	if false; then

$as_echo "#define HAVE_FUNC_MACSEC_NETDEV_IS_OFFLOADED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUNC_MACSEC_NETDEV_IS_OFFLOADED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		macsec_netdev_is_offloaded(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/macsec.c has function macsec_netdev_is_offloaded" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUNC_MACSEC_NETDEV_PRIV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUNC_MACSEC_NETDEV_PRIV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		macsec_netdev_priv(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/macsec.h has function macsec_netdev_priv" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_MACSEC_CONTEXT_UPDATE_PN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_MACSEC_CONTEXT_UPDATE_PN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/macsec.h>

static int __maybe_unused test_func (void) {

		struct macsec_context ctx;
		ctx.sa.update_pn = 0;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct macsec_context has update_pn" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FILE_OPERATIONS_URING_CMD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FILE_OPERATIONS_URING_CMD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		struct file_operations xx = {
			.uring_cmd = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uring_cmd is defined in file_operations" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DISK_SET_ZONED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DISK_SET_ZONED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		disk_set_zoned(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "disk_set_zoned is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_IOCTL_IO64_CMD_VEC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_IOCTL_IO64_CMD_VEC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme_ioctl.h>
		#include <asm-generic/ioctl.h>

static int __maybe_unused test_func (void) {

		unsigned int x = NVME_IOCTL_IO64_CMD_VEC;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NVME_IOCTL_IO64_CMD_VEC is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_EXT_PI_REF_TAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_EXT_PI_REF_TAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/t10-pi.h>

static int __maybe_unused test_func (void) {

		ext_pi_ref_tag(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ext_pi_ref_tag is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_OPF_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_OPF_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		blk_opf_t xx;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_opf_t is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FILE_F_IOCB_FLAGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FILE_F_IOCB_FLAGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		struct file f = {
			.f_iocb_flags = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "sruct file has f_iocb_flags" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_MAX_ZONE_APPEND_SECTORS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_MAX_ZONE_APPEND_SECTORS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_max_zone_append_sectors(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has bdev_max_zone_append_sectors" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RQ_END_IO_RET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RQ_END_IO_RET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		enum rq_end_io_ret x;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if file rq_end_io_ret exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_MAP_QUEUES_RETURN_INT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_MAP_QUEUES_RETURN_INT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		int foo(struct blk_mq_tag_set *x) {
			return 0;
		}

		struct blk_mq_ops ops = {
			.map_queues = foo,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "function map_queues returns int" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKCG_GET_FC_APPID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKCG_GET_FC_APPID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-cgroup.h>

static int __maybe_unused test_func (void) {

		blkcg_get_fc_appid(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkcg_get_fc_appid is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_COMPAT_PTR_IOCTL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_COMPAT_PTR_IOCTL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blkdev_compat_ptr_ioctl(NULL, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev_compat_ptr_ioctl is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CHECK_VXLAN_GBP_MASK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CHECK_VXLAN_GBP_MASK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/vxlan.h>

static int __maybe_unused test_func (void) {

		uint32_t gbp_mask = VXLAN_GBP_MASK;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "VXLAN_GBP_MASK is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TC_SKB_EXT_ACT_MISS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TC_SKB_EXT_ACT_MISS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/skbuff.h>

static int __maybe_unused test_func (void) {

		struct tc_skb_ext ext = {};

		ext.act_miss = 1;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/skbuff.h struct tc_skb_ext has act-miss" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_CHECK_VXLAN_BUILD_GBP_HDR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_CHECK_VXLAN_BUILD_GBP_HDR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/vxlan.h>

static int __maybe_unused test_func (void) {

		vxlan_build_gbp_hdr(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "vxlan_build_gbp_hdr is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_ENTRY_HW_INDEX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_ENTRY_HW_INDEX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry ent = {};

		ent.hw_index = 0;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/flow_offload.h struct flow_action_entry has hw_index" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_ENTRY_MISS_COOKIE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_ENTRY_MISS_COOKIE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry ent = {};

		ent.miss_cookie = 0;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/flow_offload.h struct flow_action_entry has miss_cookie" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FLOW_ACTION_ENTRY_COOKIE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FLOW_ACTION_ENTRY_COOKIE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_action_entry ent = {};
		struct flow_offload_action act = {};
		unsigned long cookie = 0;

		ent.cookie = cookie;
		cookie = ent.cookie;

		act.cookie = cookie;
		cookie = act.cookie;

		return cookie ? 1 : 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net/flow_offload.h struct flow_action_entry has cookie" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_USE_ACT_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_USE_ACT_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/flow_offload.h>

static int __maybe_unused test_func (void) {

		struct flow_cls_offload cls;

		cls.use_act_stats = true;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "flow_cls_offload has use_act_stats" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_UAPI_LINUX_NVME_NVME_URING_CMD_ADMIN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_UAPI_LINUX_NVME_NVME_URING_CMD_ADMIN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme_ioctl.h>
		#include <asm-generic/ioctl.h>

static int __maybe_unused test_func (void) {

		int x = NVME_URING_CMD_ADMIN;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uapi/linux/nvme_ioctl.h has NVME_URING_CMD_ADMIN" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_QUEIESCE_TAGSET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_QUEIESCE_TAGSET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_quiesce_tagset(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_quiesce_tagset is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_MAP_USER_IO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_MAP_USER_IO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_rq_map_user_io(NULL, NULL, NULL, 0, 0, 0, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_rq_map_user_iv is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_START_IO_ACCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_START_IO_ACCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_start_io_acct(NULL, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_start_io_acct is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_START_IO_ACCT_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_START_IO_ACCT_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_start_io_acct(NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_start_io_acct is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FILE_OPERATIONS_URING_CMD_IOPOLL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FILE_OPERATIONS_URING_CMD_IOPOLL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		struct file_operations xx = {
			.uring_cmd_iopoll = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uring_cmd_iopoll is defined in file_operations" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NO_LLSEEK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NO_LLSEEK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		struct file_operations fo = {
			.llseek  = no_llseek,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/fs.h declares function no_llseek" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PR_STATUS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PR_STATUS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>
		#include <linux/pr.h>

static int __maybe_unused test_func (void) {

		enum pr_status x;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum pr_status is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BVEC_SET_VIRT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BVEC_SET_VIRT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bvec.h>

static int __maybe_unused test_func (void) {

		bvec_set_virt(NULL, NULL, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bvec_set_virt is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_OPT_MAPPING_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_OPT_MAPPING_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_opt_mapping_size(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma_opt_mapping_size is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_RQ_STATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_RQ_STATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_rq_state(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_rq_state is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ITER_DEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ITER_DEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uio.h>

static int __maybe_unused test_func (void) {

		int x = ITER_DEST;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "ITER_DEST is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BVEC_SET_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BVEC_SET_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bvec.h>

static int __maybe_unused test_func (void) {

		bvec_set_page(NULL, NULL, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/bvec.h has bvec_set_page" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_DISCARD_GRANULARITY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_DISCARD_GRANULARITY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_discard_granularity(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has bdev_discard_granularity" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_KSTRTOX_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_KSTRTOX_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/kstrtox.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kstrtox.h exist" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DIM_CQ_PERIOD_MODE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DIM_CQ_PERIOD_MODE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dim.h>

static int __maybe_unused test_func (void) {

		enum dim_cq_period_mode dcpm = DIM_CQ_PERIOD_MODE_START_FROM_EQE;
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/dim.h defines enum dim_cq_period_mode" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_WRITE_CACHE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_WRITE_CACHE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_write_cache(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has bdev_write_cache" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TRACE_EVENTS_TRACE_SK_DATA_READY -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TRACE_EVENTS_TRACE_SK_DATA_READY
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <trace/events/sock.h>

static int __maybe_unused test_func (void) {

		trace_sk_data_ready(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "trace/events/sock.h has trace_sk_data_ready" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TRY_CMPXCHG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TRY_CMPXCHG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>
		#include <linux/atomic/atomic-instrumented.h>

static int __maybe_unused test_func (void) {

			u32 x = 0;
			try_cmpxchg(&x, &x, x);
			return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/atomic/atomic-instrumented.h has try_cmpxchg" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_ZONE_NO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_ZONE_NO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

			bdev_zone_no(NULL, 0);
			return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has bdev_zone_no" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_START_IO_ACCT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_START_IO_ACCT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_start_io_acct(NULL, 0, 0, 0);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_start_io_acct is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_IS_PARTITION -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_IS_PARTITION
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_is_partition(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_is_partition is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENDISK_OPEN_MODE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENDISK_OPEN_MODE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct gendisk disk;

		disk.open_mode = BLK_OPEN_READ;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct gendisk has open_mode" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_STS_RESV_CONFLICT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_STS_RESV_CONFLICT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		blk_status_t error = BLK_STS_RESV_CONFLICT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_types.h has BLK_STS_RESV_CONFLICT" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_PUT_HOLDER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_PUT_HOLDER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blkdev_put(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev_put has holder param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PROTO_OPS_SENDPAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PROTO_OPS_SENDPAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/net.h>

static int __maybe_unused test_func (void) {

		struct proto_ops x = {
			.sendpage = NULL,
		};

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "net.h struct proto_ops has sendpage" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_TAG_SET_HAS_NR_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_TAG_SET_HAS_NR_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_tag_set x = {
			.nr_maps = 0,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_tag_set has member nr_maps" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_HCTX_TYPE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_HCTX_TYPE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		enum hctx_type type = HCTX_TYPE_DEFAULT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk-mq.h has enum hctx_type" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IRQ_AFFINITY_PRIV -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IRQ_AFFINITY_PRIV
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/interrupt.h>

static int __maybe_unused test_func (void) {

		struct irq_affinity affd = {
			.priv = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct irq_affinity has priv" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_ENABLE_PCIE_ERROR_REPORTING -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_ENABLE_PCIE_ERROR_REPORTING
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/aer.h>

static int __maybe_unused test_func (void) {

		pci_enable_pcie_error_reporting(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/aer.h has pci_enable_pcie_error_reporting" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_TAG_SET_HAS_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_TAG_SET_HAS_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_tag_set x = {
			.map = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_tag_set has member map" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_FLAG_PCI_P2PDMA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_FLAG_PCI_P2PDMA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = QUEUE_FLAG_PCI_P2PDMA;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "QUEUE_FLAG_PCI_P2PDMA is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_HAS_DEADLINE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_HAS_DEADLINE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>
		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct request rq = { .deadline = 0 };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct request has deadline" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_OPS_COMMIT_RQS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_OPS_COMMIT_RQS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_ops ops = {
			.commit_rqs = NULL,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct blk_mq_ops has commit_rqs" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_SIZE_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_SIZE_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/overflow.h>

static int __maybe_unused test_func (void) {

		struct test {
			int arr[0];
		};

		size_t x = struct_size_t(struct test, arr, 1);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/overflow.h has struct_size_t" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PR_KEYS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PR_KEYS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>
		#include <linux/pr.h>

static int __maybe_unused test_func (void) {

		struct pr_keys x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/pr.h has struct pr_keys" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_MAX_MAPPING_SIZE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_MAX_MAPPING_SIZE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_max_mapping_size(NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-mapping.h has dma_max_mapping_size" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_ATTR_WRITE_BARRIER -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_ATTR_WRITE_BARRIER
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		#ifdef DMA_ATTR_WRITE_BARRIER
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/dma-mapping.h defines macro DMA_ATTR_WRITE_BARRIER" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SCSI_TRANSPORT_FC_FC_PORT_ROLE_NVME_TARGET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SCSI_TRANSPORT_FC_FC_PORT_ROLE_NVME_TARGET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <scsi/scsi_transport_fc.h>

static int __maybe_unused test_func (void) {

		int x = FC_PORT_ROLE_NVME_TARGET;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "scsi/scsi_transport_fc.h has FC_PORT_ROLE_NVME_TARGET" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IO_URING_CMD_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IO_URING_CMD_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/io_uring/cmd.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/io_uring/cmd.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_HWMON_CHIP_INFO_CONST_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_HWMON_CHIP_INFO_CONST_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/hwmon.h>

static int __maybe_unused test_func (void) {

		static const struct hwmon_channel_info *const nvme_hwmon_info[] = { 0 };
		static const struct hwmon_chip_info nvme_hwmon_chip_info = {
			.info	= nvme_hwmon_info,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "hwmon_chip_info get const nvme_hwmon_ops" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_AUTH_TRANSFORM_KEY_DHCHAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_AUTH_TRANSFORM_KEY_DHCHAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme-auth.h>

static int __maybe_unused test_func (void) {

		struct nvme_dhchap_key *x = nvme_auth_transform_key(NULL, NULL);
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nvme_auth_transform_key returns struct nvme_dhchap_key *" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_INTEGRITY_MAP_USER_BIO_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_INTEGRITY_MAP_USER_BIO_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_integrity_map_user(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bio.h has bio_integrity_map_user" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCIE_CAPABILITY_CLEAR_AND_SET_WORD_LOCKED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCIE_CAPABILITY_CLEAR_AND_SET_WORD_LOCKED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pcie_capability_clear_and_set_word_locked(NULL, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci.h has pcie_capability_clear_and_set_word_locked" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_ENABLE_PTM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_ENABLE_PTM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_enable_ptm(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/pci.h has pci_enable_ptm" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_DISABLE_PTM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_DISABLE_PTM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		pci_disable_ptm(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/pci.h has pci_disable_ptm" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_TYPES_PAGE_SECTORS_SHIFT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_TYPES_PAGE_SECTORS_SHIFT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		int x = PAGE_SECTORS_SHIFT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "PAGE_SECTORS_SHIFT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_RELEASE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_RELEASE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_release(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "bdev_release has holder param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IN_COMPAT_SYSCALL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IN_COMPAT_SYSCALL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compat.h>

static int __maybe_unused test_func (void) {

		in_compat_syscall();

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/compat.h has in_compat_syscall" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_ALLOC_QUEUE_NODE_3_ARGS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_ALLOC_QUEUE_NODE_3_ARGS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_alloc_queue_node(0, 0, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_alloc_queue_node has 3 args" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_MQ_HCTX -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_MQ_HCTX
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>
		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct request rq = { .mq_hctx = NULL };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct request has mq_hctx" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_QUEUE_MAP -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_QUEUE_MAP
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		struct blk_mq_queue_map x = {};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has struct blk_mq_queue_map" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_HOLDER_OPS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_HOLDER_OPS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct blk_holder_ops x = {};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h has struct blk_holder_ops" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SK_USE_TASK_FRAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SK_USE_TASK_FRAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		struct sock sk = { .sk_use_task_frag = false };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct sock has sk_use_task_frag" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_ALLOC_DISK_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_ALLOC_DISK_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		blk_alloc_disk(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "genhd.h has blk_alloc_disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_LIMITS_COMMIT_UPDATE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_LIMITS_COMMIT_UPDATE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

                #include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		queue_limits_commit_update(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has queue_limits_commit_update" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_INTEGRITY_PI_OFFSET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_INTEGRITY_PI_OFFSET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct blk_integrity s = { .pi_offset = 42 };
		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct blk_integrity has pi_offset" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_ALLOC_DISK_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_ALLOC_DISK_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_alloc_disk(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_alloc_disk has 3 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_ALLOC_QUEUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_ALLOC_QUEUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_alloc_queue(NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_mq_alloc_queue is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_FILE_OPEN_BY_PATH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_FILE_OPEN_BY_PATH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bdev_file_open_by_path(NULL, 0, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has bdev_file_open_by_path" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_FRAG_CACHE_DRAIN_IN_GFP_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_FRAG_CACHE_DRAIN_IN_GFP_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/gfp.h>

static int __maybe_unused test_func (void) {

		page_frag_cache_drain(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/gfp.h has page_frag_cache_drain" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ALLOC_BULK_PAGES_API_RENAME -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ALLOC_BULK_PAGES_API_RENAME
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/mm_types.h>
		#include <linux/gfp.h>

static int __maybe_unused test_func (void) {

		unsigned int to_fill = 1;
		struct page **page_list;

		alloc_pages_bulk(GFP_KERNEL_ACCOUNT, to_fill, page_list);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/gfp.h has v6.14 alloc_bulk_pages API rename" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PAGE_FRAG_CACHE_DRAIN_IN_PAGE_FRAG_CACHE_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PAGE_FRAG_CACHE_DRAIN_IN_PAGE_FRAG_CACHE_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/page_frag_cache.h>

static int __maybe_unused test_func (void) {

		page_frag_cache_drain(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/page_frag_cache.h has page_frag_cache_drain" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLKDEV_ZONE_MGMT_5_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLKDEV_ZONE_MGMT_5_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int ret = blkdev_zone_mgmt(NULL, 0, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has blkdev_zone_mgmt with 5 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RATELIMIT_TYPES_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RATELIMIT_TYPES_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/ratelimit_types.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/ratelimit_types.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_OP_STR -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_OP_STR
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		const char *s = blk_op_str(0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has blk_op_str" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_QUEUE_DISK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_QUEUE_DISK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct request_queue q = { .disk = NULL};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if linux/blkdev.h struct request_queue has member disk" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_FLAG_DISCARD -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_FLAG_DISCARD
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = QUEUE_FLAG_DISCARD;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "QUEUE_FLAG_DISCARD is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DEVLINK_PORT_MAX_IO_EQS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DEVLINK_PORT_MAX_IO_EQS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

	#include <net/devlink.h>

static int __maybe_unused test_func (void) {

		struct devlink_port_ops ops;

		ops.port_fn_max_io_eqs_get = NULL;
		ops.port_fn_max_io_eqs_set = NULL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct devlink_port_ops has max_io_eqs" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RQF_MQ_INFLIGHT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RQF_MQ_INFLIGHT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>
		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = RQF_MQ_INFLIGHT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "RQF_MQ_INFLIGHT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_MAP_HW_QUEUES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_MAP_HW_QUEUES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_mq_map_hw_queues(NULL, NULL, 5);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "Kernel provides v6.14 blk_mq_map_hw_queues" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FORCE_NOIO_SCOPE_IN_BLK_MQ_FREEZE_QUEUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FORCE_NOIO_SCOPE_IN_BLK_MQ_FREEZE_QUEUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		int x;

		x = blk_mq_freeze_queue(NULL);
		blk_mq_unfreeze_queue(NULL, 1);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "Kernel has v6.14 'force noio scope in blk_mq_freeze_queue'" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NON_OWNER_VARIANT_OF_START_FREEZE_QUEUE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NON_OWNER_VARIANT_OF_START_FREEZE_QUEUE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_freeze_queue_start_non_owner(NULL);
		blk_mq_unfreeze_queue_non_owner(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "Kernel has v6.13 'add non_owner variant of start_freeze/unfreeze queue APIs'" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_F_NO_SCHED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_F_NO_SCHED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		int x = BLK_MQ_F_NO_SCHED;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h provides BLK_MQ_F_NO_SCHED which was removed in 6.14-rc1" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_MQ_F_SHOULD_MERGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_MQ_F_SHOULD_MERGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		int x = BLK_MQ_F_SHOULD_MERGE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blk-mq.h provides BLK_MQ_F_SHOULD_MERGE which was removed in 6.14-rc1" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_INTEGRITY_CSUM_CRC64 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_INTEGRITY_CSUM_CRC64
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		enum blk_integrity_checksum bic = BLK_INTEGRITY_CSUM_CRC64;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_INTEGRITY_CSUM_CRC64 is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_INTEGRITY_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_INTEGRITY_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-integrity.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/blk-integrity.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_INTEGRITY_MAP_USER_GET_4_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_INTEGRITY_MAP_USER_GET_4_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-integrity.h>

static int __maybe_unused test_func (void) {

		int ret = blk_rq_integrity_map_user(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_rq_integrity_map_user exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_INTEGRITY_MAP_USER_GET_3_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_INTEGRITY_MAP_USER_GET_3_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-integrity.h>

static int __maybe_unused test_func (void) {

		int ret = blk_rq_integrity_map_user(NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_rq_integrity_map_user exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_MAP_INTEGRITY_SG_GET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_MAP_INTEGRITY_SG_GET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-integrity.h>

static int __maybe_unused test_func (void) {

		int ret = blk_rq_map_integrity_sg(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_rq_map_integrity_sg get 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_INTEGRITY_H -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_INTEGRITY_H
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio-integrity.h>

static int __maybe_unused test_func (void) {

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/linux/bio-integrity.h exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_RQ_INTEGRITY_RETURN_BIO_VEC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_RQ_INTEGRITY_RETURN_BIO_VEC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-integrity.h>

static int __maybe_unused test_func (void) {

		struct bio_vec bvec = rq_integrity_vec(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "rq_integrity_vec returns struct bio_vec" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_REVALIDATE_DISK_ZONES_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_REVALIDATE_DISK_ZONES_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int ret = blk_revalidate_disk_zones(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_revalidate_disk_zones get 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_QUEUE_ATOMIC_WRITE_BOUNDARY_BYTES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_QUEUE_ATOMIC_WRITE_BOUNDARY_BYTES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		unsigned int ret = queue_atomic_write_boundary_bytes(NULL);
		struct queue_limits lim = { .atomic_write_hw_boundary = 0};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "queue_atomic_write_boundary_bytes exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ENUM_BLK_UNIQUE_ID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ENUM_BLK_UNIQUE_ID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		enum blk_unique_id buid = BLK_UID_EUI64;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "enum blk_unique_id is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PLATFORM_DEVICE_REMOVE_NEW -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PLATFORM_DEVICE_REMOVE_NEW
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/platform_device.h>

		static void apple_nvme_remove(struct platform_device *pdev) {}

static int __maybe_unused test_func (void) {

		struct platform_driver apple_nvme_driver = {
			.remove_new = apple_nvme_remove,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct platform_driver has remove_new" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SENDPAGES_OK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SENDPAGES_OK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/net.h>

static int __maybe_unused test_func (void) {

		sendpages_ok(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/net.h has sendpages_ok" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IO_URING_CMD_IOPOLL_DONE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IO_URING_CMD_IOPOLL_DONE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/io_uring/cmd.h>

static int __maybe_unused test_func (void) {

		io_uring_cmd_iopoll_done(NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/io_uring/cmd.h has io_uring_cmd_iopoll_done" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_FEAT_ZONED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_FEAT_ZONED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = BLK_FEAT_ZONED;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_FEAT_ZONED is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GD_SUPPRESS_PART_SCAN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GD_SUPPRESS_PART_SCAN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = GD_SUPPRESS_PART_SCAN;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "GD_SUPPRESS_PART_SCAN is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SBITMAP_GET_1_PARAM -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SBITMAP_GET_1_PARAM
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sbitmap.h>

static int __maybe_unused test_func (void) {

		sbitmap_get(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/sbitmap.h has sbitmap_get with 1 param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SBITMAP_GET_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SBITMAP_GET_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sbitmap.h>

static int __maybe_unused test_func (void) {

		sbitmap_get(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/sbitmap.h has sbitmap_get with 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_COMPAT_UPTR_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_COMPAT_UPTR_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compat.h>

static int __maybe_unused test_func (void) {

		compat_uptr_t x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/compat.h has compat_uptr_t" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STD_GNU_99 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STD_GNU_99
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/compat.h>

static int __maybe_unused test_func (void) {

		for (int i = 0; i < 10; i++)
			;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "kernel is build with -std=gnu99" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STRUCT_RQ_LIST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STRUCT_RQ_LIST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct rq_list x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "linux/blkdev.h has struct rq_list" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_WRITE_BEGIN_FOLIO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_WRITE_BEGIN_FOLIO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		struct folio *f;
		struct address_space_operations ops = {0};
		ops.write_begin(NULL, NULL, 0, 0, &f, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if address_space_operations->write_begin takes a folio param" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		grab_cache_page_write_begin(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if grab_cache_page_write_begin() exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MKDIR_RET_INT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MKDIR_RET_INT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

		static int my_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *entry, umode_t mode)
		{return 0;}

static int __maybe_unused test_func (void) {

		struct inode_operations ops = {.mkdir = my_mkdir};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if struct inode_operations->mkdir returns an int" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_D_REVALIDATE_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_D_REVALIDATE_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dcache.h>

static int __maybe_unused test_func (void) {

		struct dentry_operations ops = {0};

		ops.d_revalidate(NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if dentry_operations->d_revalidate takes 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SECURITY_DENTRY_INIT_SECURITY_6_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SECURITY_DENTRY_INIT_SECURITY_6_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/security.h>

static int __maybe_unused test_func (void) {

		security_dentry_init_security(NULL, 0, NULL, NULL, NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if security_dentry_init_security() takes 6 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FILE_LOCK_CORE_C -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FILE_LOCK_CORE_C
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/filelock.h>

static int __maybe_unused test_func (void) {

		struct file_lock a;
		struct file_lock_core b;

		b = a.c;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if struct file_lock has c field" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUSE_NO_EXPORT_SUPPORT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUSE_NO_EXPORT_SUPPORT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/fuse.h>

static int __maybe_unused test_func (void) {

		long long unsigned int a = FUSE_NO_EXPORT_SUPPORT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if FUSE_NO_EXPORT_SUPPORT is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_VIRTQUEUE_INFO -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_VIRTQUEUE_INFO
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/virtio_config.h>

static int __maybe_unused test_func (void) {

		struct virtqueue_info vqi;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if struct virtqueue_info is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IN_GROUP_OR_CAPABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IN_GROUP_OR_CAPABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs.h>

static int __maybe_unused test_func (void) {

		vfsgid_t gid = {0};

		in_group_or_capable(NULL, NULL, gid);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if func in_group_or_capable is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUSE_HAS_RESEND -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUSE_HAS_RESEND
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/fuse.h>

static int __maybe_unused test_func (void) {

		long long unsigned int a = FUSE_HAS_RESEND;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if FUSE_HAS_RESEND is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUSE_NOTIFY_RESEND -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUSE_NOTIFY_RESEND
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/fuse.h>

static int __maybe_unused test_func (void) {

		long long unsigned int a = FUSE_NOTIFY_RESEND;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if FUSE_NOTIFY_RESEND is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FUSE_PASSTHROUGH -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FUSE_PASSTHROUGH
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/fuse.h>

static int __maybe_unused test_func (void) {

		long long unsigned int a = FUSE_PASSTHROUGH;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if FUSE_PASSTHROUGH is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TLS_CIPHER_AES_GCM_256 -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TLS_CIPHER_AES_GCM_256
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <uapi/linux/tls.h>

static int __maybe_unused test_func (void) {

		#ifdef TLS_CIPHER_AES_GCM_256
			return 0;
		#else
			#return 1
		#endif

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "include/uapi/linux/tls.h defines TLS_CIPHER_AES_GCM_256" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_FSPARAM_UID -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_FSPARAM_UID
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/fs_parser.h>

static int __maybe_unused test_func (void) {

		struct fs_parameter_spec a = fsparam_uid("foo", 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if fsparam_uid is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_ADD_PC_PAGE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_ADD_PC_PAGE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio.h>

static int __maybe_unused test_func (void) {

		bio_add_pc_page(NULL, NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "if bio_add_pc_page is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PLATFORM_DEVICE_REMOVE_NO_RET -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PLATFORM_DEVICE_REMOVE_NO_RET
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/platform_device.h>

		static void apple_nvme_remove(struct platform_device *pdev) {}

static int __maybe_unused test_func (void) {

		struct platform_driver apple_nvme_driver = {
			.remove = apple_nvme_remove,
		};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct platform_driver has remove with no ret" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_ITER_ALLOW_P2PDMA -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_ITER_ALLOW_P2PDMA
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/uio.h>

static int __maybe_unused test_func (void) {

		iov_iter_extraction_t f = ITER_ALLOW_P2PDMA;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "uio.h has ITER_ALLOW_P2PDMA" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_U64_STATS_T -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_U64_STATS_T
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/u64_stats_sync.h>

static int __maybe_unused test_func (void) {

		u64_stats_t x;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "type u64_stats_t exists" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BIO_INTEGRITY_PAYLOAD_APP_TAG -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BIO_INTEGRITY_PAYLOAD_APP_TAG
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/bio-integrity.h>

static int __maybe_unused test_func (void) {

		struct bio_integrity_payload s = {.app_tag = 0};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct bio_integrity_payload has member app_tag" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SECS_TO_JIFFIES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SECS_TO_JIFFIES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/jiffies.h>

static int __maybe_unused test_func (void) {

		unsigned long x = secs_to_jiffies(1);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "jiffies.h has secs_to_jiffies" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_MAP_SG_2_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_MAP_SG_2_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		 #include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_rq_map_sg(NULL, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk-mq.h has blk_rq_map_sg with 2 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_RQ_MAP_KERN_4_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_RQ_MAP_KERN_4_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk-mq.h>

static int __maybe_unused test_func (void) {

		blk_rq_map_kern(NULL, NULL, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blk_rq_map_kern has 4 params without queue" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_DEV_IS_DISCONNECTED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_DEV_IS_DISCONNECTED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci.h>

static int __maybe_unused test_func (void) {

		bool x = pci_dev_is_disconnected(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "pci.h has pci_dev_is_disconnect" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_STR_PLURAL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_STR_PLURAL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/string_choices.h>

static int __maybe_unused test_func (void) {

		const char *s = str_plural(42);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "string_choices.h has str_plural" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_NONROT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_NONROT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		bool x = bdev_nonrot(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h has bdev_nonrot" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_REQUEST_QUEUE_IA_RANGES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_REQUEST_QUEUE_IA_RANGES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct request_queue rq = {.ia_ranges = NULL};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct request_queue has ia_ranges" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GENDISK_IA_RANGES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GENDISK_IA_RANGES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		struct gendisk gd = {.ia_ranges = NULL};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "blkdev.h struct gendisk has ia_ranges" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BDEV_BD_STATS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BDEV_BD_STATS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blk_types.h>

static int __maybe_unused test_func (void) {

		struct block_device bdev = {.bd_stats = NULL};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "struct block_device has bd_stats" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PERCPU_REF_RESURRECT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PERCPU_REF_RESURRECT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/percpu-refcount.h>

static int __maybe_unused test_func (void) {

		percpu_ref_resurrect(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "percpu-refcount.h has percpu_ref_resurrect" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PERCPU_REF_ALLOW_REINIT -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PERCPU_REF_ALLOW_REINIT
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/percpu-refcount.h>

static int __maybe_unused test_func (void) {

		int x = PERCPU_REF_ALLOW_REINIT;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "percpu-refcount.h has PERCPU_REF_ALLOW_REINIT" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_TIMER_DELETE_SYNC -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_TIMER_DELETE_SYNC
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/timer.h>

static int __maybe_unused test_func (void) {

		timer_delete_sync(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "timer.h has timer_delete_sync" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_DMA_ALLOC_NONCONTIGUOUS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_DMA_ALLOC_NONCONTIGUOUS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/dma-mapping.h>

static int __maybe_unused test_func (void) {

		dma_alloc_noncontiguous(NULL, 0, 0, 0, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "dma_alloc_noncontiguous is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_MEMREMAP_COMPAT_ALIGN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_MEMREMAP_COMPAT_ALIGN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/memremap.h>

static int __maybe_unused test_func (void) {

		unsigned long x = memremap_compat_align();

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "memremap_compat_align is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SYSFS_GROUP_INVISIBLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SYSFS_GROUP_INVISIBLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/sysfs.h>

static int __maybe_unused test_func (void) {


		int x = SYSFS_GROUP_INVISIBLE;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "SYSFS_GROUP_INVISIBLE is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IO_URING_CMD_TO_PDU -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IO_URING_CMD_TO_PDU
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/io_uring/cmd.h>

static int __maybe_unused test_func (void) {

		#ifndef io_uring_cmd_to_pdu
		#error undefined
		#endif

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "io_uring_cmd_to_pdu is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_IO_URING_CMD_IMPORT_FIXED_6_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_IO_URING_CMD_IMPORT_FIXED_6_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/io_uring/cmd.h>

static int __maybe_unused test_func (void) {

		int r = io_uring_cmd_import_fixed(0, 0, 0, NULL, NULL, 0);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "io_uring_cmd_import_fixed has 6 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_GD_ADDED -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_GD_ADDED
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = GD_ADDED;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "GD_ADDED is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_TCP_MIN_C2HTERM_PLEN -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_TCP_MIN_C2HTERM_PLEN
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme-tcp.h>

static int __maybe_unused test_func (void) {

		int x = NVME_TCP_MIN_C2HTERM_PLEN;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "NVME_TCP_MIN_C2HTERM_PLEN is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_SK_NET_REFCNT_UPGRADE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_SK_NET_REFCNT_UPGRADE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <net/sock.h>

static int __maybe_unused test_func (void) {

		sk_net_refcnt_upgrade(NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "sk_net_refcnt_upgrade is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_FEAT_ATOMIC_WRITES -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_FEAT_ATOMIC_WRITES
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		unsigned long x = (unsigned long)BLK_FEAT_ATOMIC_WRITES;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_FEAT_ATOMIC_WRITES is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_AUTH_GENERATE_PSK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_AUTH_GENERATE_PSK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme-auth.h>

static int __maybe_unused test_func (void) {

		u8 *b;
		int x = nvme_auth_generate_psk(0, NULL, 0, NULL, NULL, 0, &b, NULL);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nvme_auth_generate_psk is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_BLK_FEAT_ROTATIONAL -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_BLK_FEAT_ROTATIONAL
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/blkdev.h>

static int __maybe_unused test_func (void) {

		int x = BLK_FEAT_ROTATIONAL;

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "BLK_FEAT_ROTATIONAL is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_AUTH_GENERATE_DIGEST -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_AUTH_GENERATE_DIGEST
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme-auth.h>

static int __maybe_unused test_func (void) {

		u8 *b;
		int x = nvme_auth_generate_digest(0, NULL, 0, NULL, NULL, &b);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nvme_auth_generate_digest is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_NVME_AUTH_DERIVE_TLS_PSK -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_NVME_AUTH_DERIVE_TLS_PSK
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/nvme-auth.h>

static int __maybe_unused test_func (void) {

		u8 *b;
		int x = nvme_auth_derive_tls_psk(0, NULL, 0, NULL, &b);

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "nvme_auth_derive_tls_psk is defined" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_APPLE_RTKIT_OPS_CRASHED_3_PARAMS -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_APPLE_RTKIT_OPS_CRASHED_3_PARAMS
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/soc/apple/rtkit.h>
		void foo(void *cookie, const void *crashlog, size_t crashlog_size);

static int __maybe_unused test_func (void) {

		struct apple_rtkit_ops ops = {.crashed = foo};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "apple_rtkit_ops.crashed takes 3 params" > "$MLNX_RDMA_MODULES_DIR/desc"



	if false; then

$as_echo "#define HAVE_PCI_EPC_FEATURES_INTX_CAPABLE -1" >>confdefs.h

	fi
	MLNX_RDMA_MOD_NAME=HAVE_PCI_EPC_FEATURES_INTX_CAPABLE
	MLNX_RDMA_MOD_DIR="$MLNX_RDMA_MODULES_DIR/$MLNX_RDMA_MOD_NAME"
	rm -rf "$MLNX_RDMA_MOD_DIR"
	mkdir -p "$MLNX_RDMA_MOD_DIR"
	cat <<'EOF' >"$MLNX_RDMA_MOD_DIR/$MLNX_RDMA_TEST_MOD.c"
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");

		#include <linux/pci-epc.h>

static int __maybe_unused test_func (void) {

		struct pci_epc_features s = {.intx_capable = 1};

		return 0;

	return 0;
}
EOF
		cat <<EOF >"$MLNX_RDMA_MOD_DIR/Makefile"
obj-m += $MLNX_RDMA_TEST_MOD.o
# The rest is for printing a single dot:
ifeq (,\$(MLNX_RDMA_SILENT))
\$(obj)/$MLNX_RDMA_TEST_MOD.o: \$(obj)/echo
\$(obj)/echo:
	@echo -n .
.PHONY: \$(obj)/echo
endif
EOF
	echo "obj-\$(MLNX_TEST)\$(MLNX_TEST_$MLNX_RDMA_MOD_NAME) += $MLNX_RDMA_MOD_NAME/" >>$MLNX_RDMA_MODULES_DIR/Makefile
	echo "desc" > "$MLNX_RDMA_MODULES_DIR/desc"



	{ $as_echo "$as_me:${as_lineno-$LINENO}: Test-building kernel modules test-builds" >&5
$as_echo "$as_me: Test-building kernel modules test-builds" >&6;}
	make -s -C "$LINUX_OBJ" -k -j${NJOBS:-1} ccflags-y="$ERROR_FLAGS" "M=$MLNX_RDMA_MODULES_DIR" MLNX_TEST=m MLNX_RDMA_SILENT=$silent modules 2>"$MLNX_RDMA_RUN_LOG"
	echo '' # FIXME: Silence in quiet mode


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for results from kernel modules test-builds" >&5
$as_echo_n "checking for results from kernel modules test-builds... " >&6; }
	for mlnx_rdma_mod_dir in $MLNX_RDMA_MODULES_DIR/HAVE_*; do
		if test ! -d "$mlnx_rdma_mod_dir"; then continue; fi
		mlnx_rdma_mod_dir_name="${mlnx_rdma_mod_dir##*/}"
		test ! -e "$mlnx_rdma_mod_dir/$MLNX_RDMA_TEST_MOD.o"
		mlnx_rdma_mod_dir_rc=$?
		if test "$mlnx_rdma_mod_dir_rc" = 1; then
			cat >>confdefs.h <<_ACEOF
#define $mlnx_rdma_mod_dir_name $mlnx_rdma_mod_dir_rc
_ACEOF

		fi
	done
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
$as_echo "done" >&6; }



#
#	Generate the config.h header file
#
	ac_config_headers="$ac_config_headers config.h"

	EXTRA_KCFLAGS="-include $PWD/config.h $EXTRA_KCFLAGS"





cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems.  If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.

_ACEOF

# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) { eval $ac_var=; unset $ac_var;} ;;
      esac ;;
    esac
  done

  (set) 2>&1 |
    case $as_nl`(ac_space=' '; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      # `set' does not quote correctly, so add quotes: double-quote
      # substitution turns \\\\ into \\, and sed turns \\ into \.
      sed -n \
	"s/'/'\\\\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
      ;; #(
    *)
      # `set' quotes correctly as required by POSIX, so do not add quotes.
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
) |
  sed '
     /^ac_cv_env_/b end
     t clear
     :clear
     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
     t end
     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
     :end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
  if test -w "$cache_file"; then
    if test "x$cache_file" != "x/dev/null"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
      if test ! -f "$cache_file" || test -h "$cache_file"; then
	cat confcache >"$cache_file"
      else
        case $cache_file in #(
        */* | ?:*)
	  mv -f confcache "$cache_file"$$ &&
	  mv -f "$cache_file"$$ "$cache_file" ;; #(
        *)
	  mv -f confcache "$cache_file" ;;
	esac
      fi
    fi
  else
    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
  fi
fi
rm -f confcache

test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'

DEFS=-DHAVE_CONFIG_H

ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
  # 1. Remove the extension, and $U if already installed.
  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
  #    will be set to the directory where LIBOBJS objects are built.
  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs

LTLIBOBJS=$ac_ltlibobjs


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
$as_echo_n "checking that generated files are newer than configure... " >&6; }
   if test -n "$am_sleep_pid"; then
     # Hide warnings about reused PIDs.
     wait $am_sleep_pid 2>/dev/null
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
$as_echo "done" >&6; }


: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
ac_cs_recheck=false
ac_cs_silent=false

SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error


# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null


# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi


# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by compat_mlnx $as_me 2.3, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@

on `(hostname || uname -n) 2>/dev/null | sed 1q`
"

_ACEOF

case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac

case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac


cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"

_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration.  Unless the files
and actions are specified as TAGs, all are instantiated by default.

Usage: $0 [OPTION]... [TAG]...

  -h, --help       print this help, then exit
  -V, --version    print version number and configuration settings, then exit
      --config     print configuration, then exit
  -q, --quiet, --silent
                   do not print progress messages
  -d, --debug      don't remove temporary files
      --recheck    update $as_me by reconfiguring in the same conditions
      --file=FILE[:TEMPLATE]
                   instantiate the configuration file FILE
      --header=FILE[:TEMPLATE]
                   instantiate the configuration header FILE

Configuration files:
$config_files

Configuration headers:
$config_headers

Report bugs to <http://support.mellanox.com/SupportWeb/service_center/SelfService>."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
compat_mlnx config.status 2.3
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
  case $1 in
  --*=?*)
    ac_option=`expr "X$1" : 'X\([^=]*\)='`
    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
    ac_shift=:
    ;;
  --*=)
    ac_option=`expr "X$1" : 'X\([^=]*\)='`
    ac_optarg=
    ac_shift=:
    ;;
  *)
    ac_option=$1
    ac_optarg=$2
    ac_shift=shift
    ;;
  esac

  case $ac_option in
  # Handling of the options.
  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    ac_cs_recheck=: ;;
  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
    $as_echo "$ac_cs_version"; exit ;;
  --config | --confi | --conf | --con | --co | --c )
    $as_echo "$ac_cs_config"; exit ;;
  --debug | --debu | --deb | --de | --d | -d )
    debug=: ;;
  --file | --fil | --fi | --f )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
    '') as_fn_error $? "missing file argument" ;;
    esac
    as_fn_append CONFIG_FILES " '$ac_optarg'"
    ac_need_defaults=false;;
  --header | --heade | --head | --hea )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
    ac_need_defaults=false;;
  --he | --h)
    # Conflict between --help and --header
    as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
  --help | --hel | -h )
    $as_echo "$ac_cs_usage"; exit ;;
  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil | --si | --s)
    ac_cs_silent=: ;;

  # This is an error.
  -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;

  *) as_fn_append ac_config_targets " $1"
     ac_need_defaults=false ;;

  esac
  shift
done

ac_configure_extra_args=

if $ac_cs_silent; then
  exec 6>/dev/null
  ac_configure_extra_args="$ac_configure_extra_args --silent"
fi

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  shift
  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  CONFIG_SHELL='$SHELL'
  export CONFIG_SHELL
  exec "\$@"
fi

_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
  echo
  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
  $as_echo "$ac_log"
} >&5

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1

# Handling of arguments.
for ac_config_target in $ac_config_targets
do
  case $ac_config_target in
    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;

  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
  esac
done


# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used.  Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
fi

# Have a temporary directory for convenience.  Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
  tmp= ac_tmp=
  trap 'exit_status=$?
  : "${ac_tmp:=$tmp}"
  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
  trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.

{
  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
  test -d "$tmp"
}  ||
{
  tmp=./conf$$-$RANDOM
  (umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp

# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then


ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
  eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
  ac_cs_awk_cr='\\r'
else
  ac_cs_awk_cr=$ac_cr
fi

echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF


{
  echo "cat >conf$$subs.awk <<_ACEOF" &&
  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
  echo "_ACEOF"
} >conf$$subs.sh ||
  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
  . ./conf$$subs.sh ||
    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5

  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
  if test $ac_delim_n = $ac_delim_num; then
    break
  elif $ac_last_try; then
    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done
rm -f conf$$subs.sh

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' <conf$$subs.awk | sed '
/^[^""]/{
  N
  s/\n//
}
' >>$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
  for (key in S) S_is_set[key] = 1
  FS = ""

}
{
  line = $ 0
  nfields = split(line, field, "@")
  substed = 0
  len = length(field[1])
  for (i = 2; i < nfields; i++) {
    key = field[i]
    keylen = length(key)
    if (S_is_set[key]) {
      value = S[key]
      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
      len += length(value) + length(field[++i])
      substed = 1
    } else
      len += 1 + keylen
  }

  print line
}

_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
  cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF

# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
h
s///
s/^/:/
s/[	 ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[	 ]*\).*/\1/
G
s/\n//
s/^[^=]*=[	 ]*$//
}'
fi

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"

# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF

# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.

# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
  if test -z "$ac_tt"; then
    break
  elif $ac_last_try; then
    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done

# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any.  Preserve backslash
# newline sequences.

ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' <confdefs.h | sed '
s/'"$ac_delim"'/"\\\
"/g' >>$CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  for (key in D) D_is_set[key] = 1
  FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
  line = \$ 0
  split(line, arg, " ")
  if (arg[1] == "#") {
    defundef = arg[2]
    mac1 = arg[3]
  } else {
    defundef = substr(arg[1], 2)
    mac1 = arg[2]
  }
  split(mac1, mac2, "(") #)
  macro = mac2[1]
  prefix = substr(line, 1, index(line, defundef) - 1)
  if (D_is_set[macro]) {
    # Preserve the white space surrounding the "#".
    print prefix "define", macro P[macro] D[macro]
    next
  } else {
    # Replace #undef with comments.  This is necessary, for example,
    # in the case of _POSIX_SOURCE, which is predefined and required
    # on some systems where configure will not decide to define it.
    if (defundef == "undef") {
      print "/*", prefix defundef, macro, "*/"
      next
    }
  }
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"


eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
shift
for ac_tag
do
  case $ac_tag in
  :[FHLC]) ac_mode=$ac_tag; continue;;
  esac
  case $ac_mode$ac_tag in
  :[FHL]*:*);;
  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
  :[FH]-) ac_tag=-:-;;
  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
  esac
  ac_save_IFS=$IFS
  IFS=:
  set x $ac_tag
  IFS=$ac_save_IFS
  shift
  ac_file=$1
  shift

  case $ac_mode in
  :L) ac_source=$1;;
  :[FH])
    ac_file_inputs=
    for ac_f
    do
      case $ac_f in
      -) ac_f="$ac_tmp/stdin";;
      *) # Look for the file first in the build tree, then in the source tree
	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
	 # because $ac_f cannot contain `:'.
	 test -f "$ac_f" ||
	   case $ac_f in
	   [\\/$]*) false;;
	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
	   esac ||
	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
      esac
      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
      as_fn_append ac_file_inputs " '$ac_f'"
    done

    # Let's still pretend it is `configure' which instantiates (i.e., don't
    # use $as_me), people would be surprised to read:
    #    /* config.h.  Generated by config.status.  */
    configure_input='Generated from '`
	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
	`' by configure.'
    if test x"$ac_file" != x-; then
      configure_input="$ac_file.  $configure_input"
      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
    fi
    # Neutralize special characters interpreted by sed in replacement strings.
    case $configure_input in #(
    *\&* | *\|* | *\\* )
       ac_sed_conf_input=`$as_echo "$configure_input" |
       sed 's/[\\\\&|]/\\\\&/g'`;; #(
    *) ac_sed_conf_input=$configure_input;;
    esac

    case $ac_tag in
    *:-:* | *:-) cat >"$ac_tmp/stdin" \
      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
    esac
    ;;
  esac

  ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$ac_file" : 'X\(//\)[^/]' \| \
	 X"$ac_file" : 'X\(//\)$' \| \
	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  as_dir="$ac_dir"; as_fn_mkdir_p
  ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix


  case $ac_mode in
  :F)
  #
  # CONFIG_FILE
  #

  case $INSTALL in
  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
  esac
  ac_MKDIR_P=$MKDIR_P
  case $MKDIR_P in
  [\\/$]* | ?:[\\/]* ) ;;
  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
  esac
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
  p
  q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_datarootdir_hack='
  s&@datadir@&$datadir&g
  s&@docdir@&$docdir&g
  s&@infodir@&$infodir&g
  s&@localedir@&$localedir&g
  s&@mandir@&$mandir&g
  s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF

# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5

test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
      "$ac_tmp/out"`; test -z "$ac_out"; } &&
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined.  Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined.  Please make sure it is defined" >&2;}

  rm -f "$ac_tmp/stdin"
  case $ac_file in
  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
  esac \
  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 ;;
  :H)
  #
  # CONFIG_HEADER
  #
  if test x"$ac_file" != x-; then
    {
      $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
    } >"$ac_tmp/config.h" \
      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
    else
      rm -f "$ac_file"
      mv "$ac_tmp/config.h" "$ac_file" \
	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
    fi
  else
    $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
      || as_fn_error $? "could not create -" "$LINENO" 5
  fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
  case $_am_header in
    $_am_arg | $_am_arg:* )
      break ;;
    * )
      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
  esac
done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$_am_arg" : 'X\(//\)[^/]' \| \
	 X"$_am_arg" : 'X\(//\)$' \| \
	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$_am_arg" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`/stamp-h$_am_stamp_count
 ;;


  esac

done # for ac_tag


as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save

test $ac_write_fail = 0 ||
  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5


# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded.  So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status.  When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
  ac_cs_success=:
  ac_config_status_args=
  test "$silent" = yes &&
    ac_config_status_args="$ac_config_status_args --quiet"
  exec 5>/dev/null
  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  exec 5>>config.log
  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
  # would make configure fail if this is the last instruction.
  $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi


#
#       cleanup auto-generated defines
#
sed -i '/\<PACKAGE\>/d' $PWD/config.h
sed -i '/\<PACKAGE_BUGREPORT\>/d' $PWD/config.h
sed -i '/\<PACKAGE_NAME\>/d' $PWD/config.h
sed -i '/\<PACKAGE_STRING\>/d' $PWD/config.h
sed -i '/\<PACKAGE_TARNAME\>/d' $PWD/config.h
sed -i '/\<PACKAGE_URL\>/d' $PWD/config.h
sed -i '/\<PACKAGE_VERSION\>/d' $PWD/config.h
sed -i '/\<VERSION\>/d' $PWD/config.h

#
cat << 'END_CONFIG' >> $PWD/config.h

/* Make sure LINUX_BACKPORT macro is defined for all external users */
#ifndef LINUX_BACKPORT
#define LINUX_BACKPORT(__sym) backport_ ##__sym
#endif

END_CONFIG
