uapi: simplify __ARCH_FLOCK{,64}_PAD a little
authorChristoph Hellwig <hch@lst.de>
Tue, 5 Apr 2022 07:12:55 +0000 (15:12 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 26 Apr 2022 20:35:14 +0000 (13:35 -0700)
Don't bother to define the symbols empty, just don't use them.
That makes the intent a little more clear.

Remove the unused HAVE_ARCH_STRUCT_FLOCK64 define and merge the
32-bit mips struct flock into the generic one.

Add a new __ARCH_FLOCK_EXTRA_SYSID macro following the style of
__ARCH_FLOCK_PAD to avoid having a separate definition just for
one architecture.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20220405071314.3225832-2-guoren@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/mips/include/uapi/asm/fcntl.h
include/uapi/asm-generic/fcntl.h
tools/include/uapi/asm-generic/fcntl.h

index 42e13dead54319e2e33d4729a05e939a4c8d5fd9..9e44ac810db94dce92e3310a928c62b86ca38e64 100644 (file)
 #define F_SETLKW64     35
 #endif
 
-/*
- * The flavours of struct flock.  "struct flock" is the ABI compliant
- * variant.  Finally struct flock64 is the LFS variant of struct flock.         As
- * a historic accident and inconsistence with the ABI definition it doesn't
- * contain all the same fields as struct flock.
- */
-
 #if _MIPS_SIM != _MIPS_SIM_ABI64
-
-#include <linux/types.h>
-
-struct flock {
-       short   l_type;
-       short   l_whence;
-       __kernel_off_t  l_start;
-       __kernel_off_t  l_len;
-       long    l_sysid;
-       __kernel_pid_t l_pid;
-       long    pad[4];
-};
-
-#define HAVE_ARCH_STRUCT_FLOCK
-
-#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
+#define __ARCH_FLOCK_EXTRA_SYSID       long l_sysid;
+#define __ARCH_FLOCK_PAD               long pad[4];
+#endif
 
 #include <asm-generic/fcntl.h>
 
index ecd0f5bdfc1d617aede5900454f86076b924baf0..77aa9f2ff98dac02c67cfdfefa9e288a695ab204 100644 (file)
@@ -192,25 +192,19 @@ struct f_owner_ex {
 
 #define F_LINUX_SPECIFIC_BASE  1024
 
-#ifndef HAVE_ARCH_STRUCT_FLOCK
-#ifndef __ARCH_FLOCK_PAD
-#define __ARCH_FLOCK_PAD
-#endif
-
 struct flock {
        short   l_type;
        short   l_whence;
        __kernel_off_t  l_start;
        __kernel_off_t  l_len;
        __kernel_pid_t  l_pid;
-       __ARCH_FLOCK_PAD
-};
+#ifdef __ARCH_FLOCK_EXTRA_SYSID
+       __ARCH_FLOCK_EXTRA_SYSID
 #endif
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK64
-#ifndef __ARCH_FLOCK64_PAD
-#define __ARCH_FLOCK64_PAD
+#ifdef __ARCH_FLOCK_PAD
+       __ARCH_FLOCK_PAD
 #endif
+};
 
 struct flock64 {
        short  l_type;
@@ -218,8 +212,9 @@ struct flock64 {
        __kernel_loff_t l_start;
        __kernel_loff_t l_len;
        __kernel_pid_t  l_pid;
+#ifdef __ARCH_FLOCK64_PAD
        __ARCH_FLOCK64_PAD
-};
 #endif
+};
 
 #endif /* _ASM_GENERIC_FCNTL_H */
index ac190958c981442f1c2072097487705039c8706b..99bc9b15ce2b1bb687b9505b046d82abe66e3c2a 100644 (file)
@@ -187,25 +187,19 @@ struct f_owner_ex {
 
 #define F_LINUX_SPECIFIC_BASE  1024
 
-#ifndef HAVE_ARCH_STRUCT_FLOCK
-#ifndef __ARCH_FLOCK_PAD
-#define __ARCH_FLOCK_PAD
-#endif
-
 struct flock {
        short   l_type;
        short   l_whence;
        __kernel_off_t  l_start;
        __kernel_off_t  l_len;
        __kernel_pid_t  l_pid;
-       __ARCH_FLOCK_PAD
-};
+#ifdef __ARCH_FLOCK_EXTRA_SYSID
+       __ARCH_FLOCK_EXTRA_SYSID
 #endif
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK64
-#ifndef __ARCH_FLOCK64_PAD
-#define __ARCH_FLOCK64_PAD
+#ifdef __ARCH_FLOCK_PAD
+       __ARCH_FLOCK_PAD
 #endif
+};
 
 struct flock64 {
        short  l_type;
@@ -213,8 +207,9 @@ struct flock64 {
        __kernel_loff_t l_start;
        __kernel_loff_t l_len;
        __kernel_pid_t  l_pid;
+#ifdef __ARCH_FLOCK64_PAD
        __ARCH_FLOCK64_PAD
-};
 #endif
+};
 
 #endif /* _ASM_GENERIC_FCNTL_H */