rcu: Add a gcc-style structure initializer for RCU pointers
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 16 May 2012 22:23:45 +0000 (15:23 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 2 Jul 2012 19:34:22 +0000 (12:34 -0700)
commit172708d002e0a2aca032b04fe6f2b8525c29244a
tree5245232b443036a68ffb2cccdadd797678aeb0c7
parent1d1fb395f6dbc07b36285bbedcf01a73b57f7cb5
rcu: Add a gcc-style structure initializer for RCU pointers

RCU_INIT_POINTER() returns a value that is never used, and which should
be abolished due to terminal ugliness:

q = RCU_INIT_POINTER(global_p, p);

However, there are two uses that cannot be handled by a do-while
formulation because they do gcc-style initialization:

RCU_INIT_POINTER(.real_cred, &init_cred),
RCU_INIT_POINTER(.cred, &init_cred),

This usage is clever, but not necessarily the nicest approach.
This commit therefore creates an RCU_POINTER_INITIALIZER() macro that
is specifically designed for gcc-style initialization.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
include/linux/rcupdate.h