mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] UAPI: Extra preparatory patches
@ 2012-10-03 23:10 David Howells
  2012-10-03 23:10 ` [PATCH 1/2] UAPI: Fix the guards on various asm/unistd.h files David Howells
  2012-10-03 23:10 ` [PATCH 2/2] UAPI: Split compound conditionals containing __KERNEL__ in Arm64 David Howells
  0 siblings, 2 replies; 3+ messages in thread
From: David Howells @ 2012-10-03 23:10 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel


Hi Linus,

I have here a couple of extra preparatory patches for you that I discovered
were necessary today:

 (1) Remove reinclusion guards from certain asm/unistd.h files that were
     overriding the guard if __SYSCALL was defined, eg:

	#if defined(__ASM_UNISTD_H) || defined(__SYSCALL)

     The macro __SYSCALL is defined within and not then undef'd, thus
     rendering the guard ineffective.

     Clearly these guards are unnecessary, so drop them entirely for the
     moment.  We may want to add them back later, but it makes my scripts much
     easier to handle by virtue of simplifying the logic.

 (2) Break apart some cpp conditionals that got added with the arm64 arch that
     are of the form:

	defined(__KERNEL__) && defined(X)

     Splitting these into two separate nested conditionals makes scripting
     easier.

David
---
David Howells (2):
      UAPI: Split compound conditionals containing __KERNEL__ in Arm64
      UAPI: Fix the guards on various asm/unistd.h files


 arch/arm64/include/asm/hwcap.h      |    4 +++-
 arch/arm64/include/asm/stat.h       |    4 +++-
 arch/arm64/include/asm/unistd.h     |    8 +++-----
 arch/arm64/include/asm/unistd32.h   |    4 ----
 arch/c6x/include/asm/unistd.h       |    4 ----
 arch/hexagon/include/asm/unistd.h   |    5 -----
 arch/openrisc/include/asm/unistd.h  |    5 -----
 arch/score/include/asm/unistd.h     |    5 -----
 arch/tile/include/asm/unistd.h      |    5 -----
 arch/unicore32/include/asm/unistd.h |    4 ----
 include/asm-generic/unistd.h        |    4 ----
 11 files changed, 9 insertions(+), 43 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] UAPI: Fix the guards on various asm/unistd.h files
  2012-10-03 23:10 [PATCH 0/2] UAPI: Extra preparatory patches David Howells
@ 2012-10-03 23:10 ` David Howells
  2012-10-03 23:10 ` [PATCH 2/2] UAPI: Split compound conditionals containing __KERNEL__ in Arm64 David Howells
  1 sibling, 0 replies; 3+ messages in thread
From: David Howells @ 2012-10-03 23:10 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, David Howells, Arnd Bergmann, Catalin Marinas

asm-generic/unistd.h and a number of asm/unistd.h files have been given
reinclusion guards that allow the guard to be overridden if __SYSCALL is
defined.  Unfortunately, these files define __SYSCALL and don't undefine it
when they've finished with it, thus rendering the guard ineffective.

The reason for this override is to allow the file to be #included multiple
times with different settings on __SYSCALL for purposes like generating syscall
tables.

The following guards are problematic:

arch/arm64/include/asm/unistd.h:#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
arch/arm64/include/asm/unistd32.h:#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
arch/c6x/include/asm/unistd.h:#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
arch/hexagon/include/asm/unistd.h:#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
arch/openrisc/include/asm/unistd.h:#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
arch/score/include/asm/unistd.h:#if !defined(_ASM_SCORE_UNISTD_H) || defined(__SYSCALL)
arch/tile/include/asm/unistd.h:#if !defined(_ASM_TILE_UNISTD_H) || defined(__SYSCALL)
arch/unicore32/include/asm/unistd.h:#if !defined(__UNICORE_UNISTD_H__) || defined(__SYSCALL)
include/asm-generic/unistd.h:#if !defined(_ASM_GENERIC_UNISTD_H) || defined(__SYSCALL)

On the assumption that the guards' ineffectiveness has passed unnoticed, just
remove these guards entirely.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
---

 arch/arm64/include/asm/unistd.h     |    4 ----
 arch/arm64/include/asm/unistd32.h   |    4 ----
 arch/c6x/include/asm/unistd.h       |    4 ----
 arch/hexagon/include/asm/unistd.h   |    5 -----
 arch/openrisc/include/asm/unistd.h  |    5 -----
 arch/score/include/asm/unistd.h     |    5 -----
 arch/tile/include/asm/unistd.h      |    5 -----
 arch/unicore32/include/asm/unistd.h |    4 ----
 include/asm-generic/unistd.h        |    4 ----
 9 files changed, 40 deletions(-)

diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index fe18a68..f55ba3e 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -13,8 +13,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
-#define __ASM_UNISTD_H
 
 #ifndef __SYSCALL_COMPAT
 #include <asm-generic/unistd.h>
@@ -23,5 +21,3 @@
 #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
 #include <asm/unistd32.h>
 #endif
-
-#endif /* __ASM_UNISTD_H */
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index a50405f..3ba1f1a 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -16,8 +16,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
-#define __ASM_UNISTD32_H
 
 #ifndef __SYSCALL
 #define __SYSCALL(x, y)
@@ -754,5 +752,3 @@ __SYSCALL(__NR_syncfs, sys_syncfs)
 #define __ARCH_WANT_SYS_SIGPENDING
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
-
-#endif /* __ASM_UNISTD32_H */
diff --git a/arch/c6x/include/asm/unistd.h b/arch/c6x/include/asm/unistd.h
index 6d54ea4..ed22590 100644
--- a/arch/c6x/include/asm/unistd.h
+++ b/arch/c6x/include/asm/unistd.h
@@ -13,8 +13,6 @@
  *   NON INFRINGEMENT.	See the GNU General Public License for
  *   more details.
  */
-#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_C6X_UNISTD_H
 
 /* Use the standard ABI for syscalls. */
 #include <asm-generic/unistd.h>
@@ -22,5 +20,3 @@
 /* C6X-specific syscalls. */
 #define __NR_cache_sync	(__NR_arch_specific_syscall + 0)
 __SYSCALL(__NR_cache_sync, sys_cache_sync)
-
-#endif /* _ASM_C6X_UNISTD_H */
diff --git a/arch/hexagon/include/asm/unistd.h b/arch/hexagon/include/asm/unistd.h
index 4d0ecde..c0d5565 100644
--- a/arch/hexagon/include/asm/unistd.h
+++ b/arch/hexagon/include/asm/unistd.h
@@ -18,9 +18,6 @@
  * 02110-1301, USA.
  */
 
-#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_HEXAGON_UNISTD_H
-
 /*
  *  The kernel pulls this unistd.h in three different ways:
  *  1.  the "normal" way which gets all the __NR defines
@@ -32,5 +29,3 @@
 #define sys_mmap2 sys_mmap_pgoff
 
 #include <asm-generic/unistd.h>
-
-#endif
diff --git a/arch/openrisc/include/asm/unistd.h b/arch/openrisc/include/asm/unistd.h
index 89af3ab..437bdbb 100644
--- a/arch/openrisc/include/asm/unistd.h
+++ b/arch/openrisc/include/asm/unistd.h
@@ -16,9 +16,6 @@
  * (at your option) any later version.
  */
 
-#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
-#define __ASM_OPENRISC_UNISTD_H
-
 #define __ARCH_HAVE_MMU
 
 #define sys_mmap2 sys_mmap_pgoff
@@ -27,5 +24,3 @@
 
 #define __NR_or1k_atomic __NR_arch_specific_syscall
 __SYSCALL(__NR_or1k_atomic, sys_or1k_atomic)
-
-#endif /* __ASM_OPENRISC_UNISTD_H */
diff --git a/arch/score/include/asm/unistd.h b/arch/score/include/asm/unistd.h
index 4aa9573..a862384 100644
--- a/arch/score/include/asm/unistd.h
+++ b/arch/score/include/asm/unistd.h
@@ -1,6 +1,3 @@
-#if !defined(_ASM_SCORE_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_SCORE_UNISTD_H
-
 #define __ARCH_HAVE_MMU
 
 #define __ARCH_WANT_SYSCALL_NO_AT
@@ -9,5 +6,3 @@
 #define __ARCH_WANT_SYSCALL_DEPRECATED
 
 #include <asm-generic/unistd.h>
-
-#endif /* _ASM_SCORE_UNISTD_H */
diff --git a/arch/tile/include/asm/unistd.h b/arch/tile/include/asm/unistd.h
index a017246..0e1f3e6 100644
--- a/arch/tile/include/asm/unistd.h
+++ b/arch/tile/include/asm/unistd.h
@@ -12,9 +12,6 @@
  *   more details.
  */
 
-#if !defined(_ASM_TILE_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_TILE_UNISTD_H
-
 #if !defined(__LP64__) || defined(__SYSCALL_COMPAT)
 /* Use the flavor of this syscall that matches the 32-bit API better. */
 #define __ARCH_WANT_SYNC_FILE_RANGE2
@@ -43,5 +40,3 @@ __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr)
 #endif
 #define __ARCH_WANT_SYS_NEWFSTATAT
 #endif
-
-#endif /* _ASM_TILE_UNISTD_H */
diff --git a/arch/unicore32/include/asm/unistd.h b/arch/unicore32/include/asm/unistd.h
index 9b24280..2abcf61 100644
--- a/arch/unicore32/include/asm/unistd.h
+++ b/arch/unicore32/include/asm/unistd.h
@@ -9,10 +9,6 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
-#if !defined(__UNICORE_UNISTD_H__) || defined(__SYSCALL)
-#define __UNICORE_UNISTD_H__
 
 /* Use the standard ABI for syscalls. */
 #include <asm-generic/unistd.h>
-
-#endif /* __UNICORE_UNISTD_H__ */
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h
index 3748ec9..cf22fae 100644
--- a/include/asm-generic/unistd.h
+++ b/include/asm-generic/unistd.h
@@ -1,6 +1,3 @@
-#if !defined(_ASM_GENERIC_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_GENERIC_UNISTD_H
-
 #include <asm/bitsperlong.h>
 
 /*
@@ -930,4 +927,3 @@ __SYSCALL(__NR_fork, sys_ni_syscall)
 #endif
 
 #endif /* __KERNEL__ */
-#endif /* _ASM_GENERIC_UNISTD_H */


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  2012-10-03 23:10 [PATCH 0/2] UAPI: Extra preparatory patches David Howells
  2012-10-03 23:10 ` [PATCH 1/2] UAPI: Fix the guards on various asm/unistd.h files David Howells
@ 2012-10-03 23:10 ` David Howells
  1 sibling, 0 replies; 3+ messages in thread
From: David Howells @ 2012-10-03 23:10 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, David Howells, Catalin Marinas

Split compound conditionals containing __KERNEL__ in Arm64 where possible to
make it easier for the UAPI disintegration scripts to handle them.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
---

 arch/arm64/include/asm/hwcap.h  |    4 +++-
 arch/arm64/include/asm/stat.h   |    4 +++-
 arch/arm64/include/asm/unistd.h |    4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h
index f8190ba..db05f97 100644
--- a/arch/arm64/include/asm/hwcap.h
+++ b/arch/arm64/include/asm/hwcap.h
@@ -35,7 +35,8 @@
 #define COMPAT_HWCAP_IDIVT	(1 << 18)
 #define COMPAT_HWCAP_IDIV	(COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT)
 
-#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
+#ifdef __KERNEL__
+#ifndef __ASSEMBLY__
 /*
  * This yields a mask that user programs can use to figure out what
  * instruction set this cpu supports.
@@ -49,5 +50,6 @@
 
 extern unsigned int elf_hwcap;
 #endif
+#endif
 
 #endif
diff --git a/arch/arm64/include/asm/stat.h b/arch/arm64/include/asm/stat.h
index d87225c..a9f580c 100644
--- a/arch/arm64/include/asm/stat.h
+++ b/arch/arm64/include/asm/stat.h
@@ -18,7 +18,8 @@
 
 #include <asm-generic/stat.h>
 
-#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
+#ifdef __KERNEL__
+#ifdef CONFIG_COMPAT
 
 #include <asm/compat.h>
 
@@ -58,5 +59,6 @@ struct stat64 {
 };
 
 #endif
+#endif
 
 #endif
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index f55ba3e..8f03dee 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -18,6 +18,8 @@
 #include <asm-generic/unistd.h>
 #endif
 
-#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
+#ifdef __KERNEL__
+#ifdef CONFIG_COMPAT
 #include <asm/unistd32.h>
 #endif
+#endif


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-10-03 23:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-03 23:10 [PATCH 0/2] UAPI: Extra preparatory patches David Howells
2012-10-03 23:10 ` [PATCH 1/2] UAPI: Fix the guards on various asm/unistd.h files David Howells
2012-10-03 23:10 ` [PATCH 2/2] UAPI: Split compound conditionals containing __KERNEL__ in Arm64 David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®