SPL_AC_TYPE_ATOMIC64_CMPXCHG
SPL_AC_TYPE_ATOMIC64_XCHG
SPL_AC_TYPE_UINTPTR_T
- SPL_AC_3ARGS_INIT_WORK
SPL_AC_2ARGS_REGISTER_SYSCTL
SPL_AC_SET_SHRINKER
SPL_AC_3ARGS_SHRINKER_CALLBACK
])
])
-dnl #
-dnl # 2.6.20 API change,
-dnl # INIT_WORK use 2 args and not store data inside
-dnl #
-AC_DEFUN([SPL_AC_3ARGS_INIT_WORK],
- [AC_MSG_CHECKING([whether INIT_WORK wants 3 args])
- SPL_LINUX_TRY_COMPILE([
- #include <linux/workqueue.h>
- ],[
- struct work_struct work __attribute__ ((unused));
- INIT_WORK(&work, NULL, NULL);
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_3ARGS_INIT_WORK, 1,
- [INIT_WORK wants 3 args])
- ],[
- AC_MSG_RESULT(no)
- ])
-])
-
dnl #
dnl # 2.6.21 API change,
dnl # 'register_sysctl_table' use only one argument instead of two
+++ /dev/null
-/*****************************************************************************\
- * Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
- * Copyright (C) 2007 The Regents of the University of California.
- * Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
- * Written by Brian Behlendorf <behlendorf1@llnl.gov>.
- * UCRL-CODE-235197
- *
- * This file is part of the SPL, Solaris Porting Layer.
- * For details, see <http://github.com/behlendorf/spl/>.
- *
- * The SPL is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * The SPL is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with the SPL. If not, see <http://www.gnu.org/licenses/>.
-\*****************************************************************************/
-
-#ifndef _SPL_WORKQUEUE_COMPAT_H
-#define _SPL_WORKQUEUE_COMPAT_H
-
-#include <linux/workqueue.h>
-#include <sys/types.h>
-
-#ifdef HAVE_3ARGS_INIT_WORK
-
-#define delayed_work work_struct
-
-#define spl_init_work(wq, cb, d) INIT_WORK((wq), (void *)(cb), \
- (void *)(d))
-#define spl_init_delayed_work(wq,cb,d) INIT_WORK((wq), (void *)(cb), \
- (void *)(d))
-#define spl_get_work_data(d, t, f) (t *)(d)
-
-#else
-
-#define spl_init_work(wq, cb, d) INIT_WORK((wq), (void *)(cb));
-#define spl_init_delayed_work(wq,cb,d) INIT_DELAYED_WORK((wq), (void *)(cb));
-#define spl_get_work_data(d, t, f) (t *)container_of(d, t, f)
-
-#endif /* HAVE_3ARGS_INIT_WORK */
-
-#endif /* _SPL_WORKQUEUE_COMPAT_H */