Separate out just the pure data types - sched.h will be able to use
this reduced size header.

Cc: Linus Torvalds <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
 include/linux/signal.h       | 54 
------------------------------------------------------
 include/linux/signal_types.h | 59 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 54 deletions(-)

diff --git a/include/linux/signal.h b/include/linux/signal.h
index d1c2b05a7a55..94ad6eea9550 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -8,24 +8,6 @@ struct task_struct;
 
 /* for sysctl */
 extern int print_fatal_signals;
-/*
- * Real Time signals may be queued.
- */
-
-struct sigqueue {
-       struct list_head list;
-       int flags;
-       siginfo_t info;
-       struct user_struct *user;
-};
-
-/* flags values. */
-#define SIGQUEUE_PREALLOC      1
-
-struct sigpending {
-       struct list_head list;
-       sigset_t signal;
-};
 
 #ifndef HAVE_ARCH_COPY_SIGINFO
 
@@ -271,42 +253,6 @@ extern void set_current_blocked(sigset_t *);
 extern void __set_current_blocked(const sigset_t *);
 extern int show_unhandled_signals;
 
-struct sigaction {
-#ifndef __ARCH_HAS_IRIX_SIGACTION
-       __sighandler_t  sa_handler;
-       unsigned long   sa_flags;
-#else
-       unsigned int    sa_flags;
-       __sighandler_t  sa_handler;
-#endif
-#ifdef __ARCH_HAS_SA_RESTORER
-       __sigrestore_t sa_restorer;
-#endif
-       sigset_t        sa_mask;        /* mask last for extensibility */
-};
-
-struct k_sigaction {
-       struct sigaction sa;
-#ifdef __ARCH_HAS_KA_RESTORER
-       __sigrestore_t ka_restorer;
-#endif
-};
- 
-#ifdef CONFIG_OLD_SIGACTION
-struct old_sigaction {
-       __sighandler_t sa_handler;
-       old_sigset_t sa_mask;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-};
-#endif
-
-struct ksignal {
-       struct k_sigaction ka;
-       siginfo_t info;
-       int sig;
-};
-
 extern int get_signal(struct ksignal *ksig);
 extern void signal_setup_done(int failed, struct ksignal *ksig, int stepping);
 extern void exit_signals(struct task_struct *tsk);
diff --git a/include/linux/signal_types.h b/include/linux/signal_types.h
index 28799c88f490..16d862a3d8f3 100644
--- a/include/linux/signal_types.h
+++ b/include/linux/signal_types.h
@@ -1,7 +1,66 @@
 #ifndef _LINUX_SIGNAL_TYPES_H
 #define _LINUX_SIGNAL_TYPES_H
 
+/*
+ * Basic signal handling related data type definitions:
+ */
+
 #include <linux/list.h>
 #include <uapi/linux/signal.h>
 
+/*
+ * Real Time signals may be queued.
+ */
+
+struct sigqueue {
+       struct list_head list;
+       int flags;
+       siginfo_t info;
+       struct user_struct *user;
+};
+
+/* flags values. */
+#define SIGQUEUE_PREALLOC      1
+
+struct sigpending {
+       struct list_head list;
+       sigset_t signal;
+};
+
+struct sigaction {
+#ifndef __ARCH_HAS_IRIX_SIGACTION
+       __sighandler_t  sa_handler;
+       unsigned long   sa_flags;
+#else
+       unsigned int    sa_flags;
+       __sighandler_t  sa_handler;
+#endif
+#ifdef __ARCH_HAS_SA_RESTORER
+       __sigrestore_t sa_restorer;
+#endif
+       sigset_t        sa_mask;        /* mask last for extensibility */
+};
+
+struct k_sigaction {
+       struct sigaction sa;
+#ifdef __ARCH_HAS_KA_RESTORER
+       __sigrestore_t ka_restorer;
+#endif
+};
+
+#ifdef CONFIG_OLD_SIGACTION
+struct old_sigaction {
+       __sighandler_t sa_handler;
+       old_sigset_t sa_mask;
+       unsigned long sa_flags;
+       __sigrestore_t sa_restorer;
+};
+#endif
+
+struct ksignal {
+       struct k_sigaction ka;
+       siginfo_t info;
+       int sig;
+};
+
 #endif /* _LINUX_SIGNAL_TYPES_H */
-- 
2.7.4

Reply via email to