-AC_DEFUN([LIBCFS_NETLINK],
-[AC_MSG_CHECKING([if netlink.h can be compiled])
-LB_LINUX_TRY_COMPILE([
- #include <net/netlink.h>
-],[],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_NETLINK, 1, [net/netlink.h found])
-
- AC_MSG_CHECKING([if nlmsg_new takes a 2nd argument])
- LB_LINUX_TRY_COMPILE([
- #include <net/netlink.h>
- ],[
- nlmsg_new(100, GFP_KERNEL);
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_NETLINK_NL2, 1, [nlmsg_new takes 2 args])
- ],[
- AC_MSG_RESULT([no])
- ])
-],[
- AC_MSG_RESULT([no])
-])
-])
-
-# 2.6.20 API change INIT_WORK use 2 args and not
-# store data inside
-AC_DEFUN([LIBCFS_3ARGS_INIT_WORK],
-[AC_MSG_CHECKING([check INIT_WORK want 3 args])
-LB_LINUX_TRY_COMPILE([
- #include <linux/workqueue.h>
-],[
- struct work_struct work;
-
- INIT_WORK(&work, NULL, NULL);
+AC_DEFUN([LIBCFS_SHRINKER_COUNT],[
+LB_CHECK_COMPILE([shrinker has 'count_objects'],
+shrinker_count_objects, [
+ #include <linux/mmzone.h>
+ #include <linux/shrinker.h>