sparc: Merge asm-sparc{,64}/sembuf.h
authorSam Ravnborg <sam@ravnborg.org>
Thu, 5 Jun 2008 21:39:32 +0000 (23:39 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jul 2008 04:41:44 +0000 (21:41 -0700)
Padding in the sembuf structure made conditional
as only 32 bit sparc did so.

:$ diff -u include/asm-sparc/sembuf.h include/asm-sparc64/sembuf.h
:-- include/asm-sparc/sembuf.h 2008-06-13 06:42:07.000000000 +0200
:++ include/asm-sparc64/sembuf.h 2008-06-13 06:42:07.000000000 +0200
:@@ -1,21 +1,18 @@
:-#ifndef _SPARC_SEMBUF_H
:-#define _SPARC_SEMBUF_H
:+#ifndef _SPARC64_SEMBUF_H
:+#define _SPARC64_SEMBUF_H
:
: /*
:- * The semid64_ds structure for sparc architecture.
:+ * The semid64_ds structure for sparc64 architecture.
:  * Note extra padding because this structure is passed back and forth
:  * between kernel and user space.
:  *
:  * Pad space is left for:
:- * - 64-bit time_t to solve y2038 problem
:- * - 2 miscellaneous 32-bit values
:+ * - 2 miscellaneous 64-bit values
:  */
:
: struct semid64_ds {
:  struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
:- unsigned int __pad1;
:  __kernel_time_t sem_otime; /* last semop time */
:- unsigned int __pad2;
:  __kernel_time_t sem_ctime; /* last change time */
:  unsigned long sem_nsems; /* no. of semaphores in array */
:  unsigned long __unused1;

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
include/asm-sparc/sembuf.h
include/asm-sparc64/sembuf.h

index a79c4bb..faee1be 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef _SPARC_SEMBUF_H
 #define _SPARC_SEMBUF_H
 
-/* 
+/*
  * The semid64_ds structure for sparc architecture.
  * Note extra padding because this structure is passed back and forth
  * between kernel and user space.
  * - 64-bit time_t to solve y2038 problem
  * - 2 miscellaneous 32-bit values
  */
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
 
 struct semid64_ds {
        struct ipc64_perm sem_perm;             /* permissions .. see ipc.h */
-       unsigned int    __pad1;
+       PADDING(__pad1)
        __kernel_time_t sem_otime;              /* last semop time */
-       unsigned int    __pad2;
+       PADDING(__pad2)
        __kernel_time_t sem_ctime;              /* last change time */
        unsigned long   sem_nsems;              /* no. of semaphores in array */
        unsigned long   __unused1;
        unsigned long   __unused2;
 };
+#undef PADDING
 
 #endif /* _SPARC64_SEMBUF_H */
index 99f04e4..c55b952 100644 (file)
@@ -1,22 +1 @@
-#ifndef _SPARC64_SEMBUF_H
-#define _SPARC64_SEMBUF_H
-
-/* 
- * The semid64_ds structure for sparc64 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 64-bit values
- */
-
-struct semid64_ds {
-       struct ipc64_perm sem_perm;             /* permissions .. see ipc.h */
-       __kernel_time_t sem_otime;              /* last semop time */
-       __kernel_time_t sem_ctime;              /* last change time */
-       unsigned long   sem_nsems;              /* no. of semaphores in array */
-       unsigned long   __unused1;
-       unsigned long   __unused2;
-};
-
-#endif /* _SPARC64_SEMBUF_H */
+#include <asm-sparc/sembuf.h>