+# 2.6.32 added another argument to struct shrinker->shrink
+ AC_MSG_CHECKING([if passing shrinker as first argument])
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="-Werror"
+ LB_LINUX_TRY_COMPILE([
+ #include <linux/mm.h>
+ int test_shrink(struct shrinker *, int, gfp_t);
+ ],[
+ struct shrinker *shr = NULL;
+ shr->shrink = test_shrink;
+ ],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(SHRINKER_FIRST_ARG, [struct shrinker *shrinker,],
+ [kernel is passing shrinker as first argument])
+ ],[
+ AC_DEFINE(SHRINKER_FIRST_ARG, ,
+ [kernel is not passing shrinker as first argument])
+ ])
+ EXTRA_KCFLAGS="$tmp_flags"