Index: acinclude.m4
===================================================================
RCS file: /cvs/openafs/acinclude.m4,v
retrieving revision 1.114.2.103
diff -u -r1.114.2.103 acinclude.m4
--- acinclude.m4	11 Jul 2008 09:54:35 -0000	1.114.2.103
+++ acinclude.m4	12 Aug 2008 19:45:27 -0000
@@ -608,6 +608,7 @@
 		 LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
 		 LINUX_CONFIG_H_EXISTS
 		 LINUX_COMPLETION_H_EXISTS
+		 LINUX_SEMAPHORE_H_EXISTS
 		 LINUX_DEFINES_FOR_EACH_PROCESS
 		 LINUX_DEFINES_PREV_TASK
 		 LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
Index: src/afs/sysincludes.h
===================================================================
RCS file: /cvs/openafs/src/afs/sysincludes.h,v
retrieving revision 1.28.2.15
diff -u -r1.28.2.15 sysincludes.h
--- src/afs/sysincludes.h	23 Nov 2007 13:45:04 -0000	1.28.2.15
+++ src/afs/sysincludes.h	12 Aug 2008 19:45:30 -0000
@@ -108,7 +108,11 @@
 #include <linux/mm.h>
 #include <linux/slab.h>
 #include <linux/string.h>
+#if defined(LINUX_SEMAPHORE_H)
+#include <linux/semaphore.h>
+#else
 #include <asm/semaphore.h>
+#endif
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
 #include <linux/mutex.h>
 #endif
Index: src/cf/linux-test4.m4
===================================================================
RCS file: /cvs/openafs/src/cf/linux-test4.m4,v
retrieving revision 1.20.2.49
diff -u -r1.20.2.49 linux-test4.m4
--- src/cf/linux-test4.m4	9 Jun 2008 03:39:44 -0000	1.20.2.49
+++ src/cf/linux-test4.m4	12 Aug 2008 19:45:31 -0000
@@ -1032,3 +1032,16 @@
     AC_DEFINE([EXPORTED_PROC_ROOT_FS], 1, [define if proc_root_fs is exported])
   fi])
  
+AC_DEFUN([LINUX_SEMAPHORE_H_EXISTS], [
+  AC_MSG_CHECKING([for linux/semaphore.h existance])
+  AC_CACHE_VAL([ac_cv_linux_semaphore_h_exists], [
+    AC_TRY_KBUILD(
+[#include <linux/semaphore.h>],
+[return;],
+      ac_cv_linux_semaphore_h_exists=yes,
+      ac_cv_linux_semaphore_h_exists=no)])
+  AC_MSG_RESULT($ac_cv_linux_semaphore_h_exists)
+  if test "x$ac_cv_linux_semaphore_h_exists" = "xyes"; then
+    AC_DEFINE([LINUX_SEMAPHORE_H], 1, [define if linux/semaphore.h exists])
+  fi])
+
