]) # LIBCFS_SYSCTL_CTLNAME
#
-# LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
-#
-# 2.6.34 adds __add_wait_queue_exclusive
-#
-AC_DEFUN([LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE], [
-LB_CHECK_COMPILE([if '__add_wait_queue_exclusive' exists],
-__add_wait_queue_exclusive, [
- #include <linux/wait.h>
-],[
- wait_queue_head_t queue;
- wait_queue_t wait;
- __add_wait_queue_exclusive(&queue, &wait);
-],[
- AC_DEFINE(HAVE___ADD_WAIT_QUEUE_EXCLUSIVE, 1,
- [__add_wait_queue_exclusive exists])
-])
-]) # LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
-
-#
# LC_SK_SLEEP
#
# 2.6.35 kernel has sk_sleep function
]) # LC_SK_SLEEP
#
+# LIBCFS_KSTRTOUL
+#
+# 2.6.38 kstrtoul is added
+#
+AC_DEFUN([LIBCFS_KSTRTOUL], [
+LB_CHECK_COMPILE([if Linux kernel has 'kstrtoul'],
+kstrtoul, [
+ #include <linux/kernel.h>
+],[
+ unsigned long result;
+ return kstrtoul("12345", 0, &result);
+],[
+ AC_DEFINE(HAVE_KSTRTOUL, 1,
+ [kernel has kstrtoul])
+])
+]) # LIBCFS_KSTRTOUL
+
+#
# LIBCFS_DUMP_TRACE_ADDRESS
#
# 2.6.39 adds a base pointer address argument to dump_trace
AC_DEFUN([LC_SHRINK_CONTROL], [
LB_CHECK_COMPILE([if 'shrink_control' is present],
shrink_control, [
+ #include <linux/atomic.h>
#include <linux/mm.h>
],[
struct shrink_control tmp = {0};
LC_SHRINKER_WANT_SHRINK_PTR
# 2.6.33
LIBCFS_SYSCTL_CTLNAME
-# 2.6.34
-LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
# 2.6.35
LC_SK_SLEEP
+# 2.6.38
+LIBCFS_KSTRTOUL
# 2.6.39
LIBCFS_DUMP_TRACE_ADDRESS
# 2.6.40 fc15