[patch -mm] notifier chain initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This one is against the -mm tree, description below.

Cheers,
Jes

This patch goes on top of Alan Stern's
notifier-chain-update-api-changes.patch

It restructures the notifier chain initialization macros by
introducing FOO_NOTIFIER_INIT() macros which are used by the
FOO_NOTIFIER_HEAD() macros.

The benefit is that one can use the FOO_NOTIFIER_INIT() macro for
static initialization of a notifier chain.

Signed-off-by: Jes Sorensen <[email protected]>

---
 include/linux/notifier.h |   19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

Index: linux-2.6/include/linux/notifier.h
===================================================================
--- linux-2.6.orig/include/linux/notifier.h
+++ linux-2.6/include/linux/notifier.h
@@ -64,17 +64,24 @@
 		(name)->head = NULL;		\
 	} while (0)
 
-#define ATOMIC_NOTIFIER_HEAD(name)				\
-	struct atomic_notifier_head name = {			\
+#define ATOMIC_NOTIFIER_INIT(name) {				\
 		.mutex = __MUTEX_INITIALIZER((name).mutex),	\
 		.head = NULL }
-#define BLOCKING_NOTIFIER_HEAD(name)				\
-	struct blocking_notifier_head name = {			\
+#define BLOCKING_NOTIFIER_INIT(name) {				\
 		.rwsem = __RWSEM_INITIALIZER((name).rwsem),	\
 		.head = NULL }
+#define RAW_NOTIFIER_INIT(name) {				\
+		.head = NULL }
+
+#define ATOMIC_NOTIFIER_HEAD(name)				\
+	struct atomic_notifier_head name =			\
+		ATOMIC_NOTIFIER_INIT(name)
+#define BLOCKING_NOTIFIER_HEAD(name)				\
+	struct blocking_notifier_head name =			\
+		BLOCKING_NOTIFIER_INIT(name)
 #define RAW_NOTIFIER_HEAD(name)					\
-	struct raw_notifier_head name = {			\
-	.head = NULL }
+	struct raw_notifier_head name =				\
+		RAW_NOTIFIER_INIT(name)
 
 #ifdef __KERNEL__
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux