Move the declarations of call_srcu(), cleanup_srcu_struct(), and synchronize_srcu() above the inclusion of the implementation specific SRCU header so that tiny SRCU can provide inline wrappers, e.g. for expedited versions, without needing to re-declare synchronize_srcu() and call_srcu().
Opportunsitically use rcu_callback_t in the call_srcu() declaration instead of an open coded equivalent (all implementations already use rcu_callback_t). No functional change intended. Signed-off-by: Sean Christopherson <[email protected]> --- include/linux/srcu.h | 10 +++++----- include/linux/srcutiny.h | 2 -- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/linux/srcu.h b/include/linux/srcu.h index bb44a0bd7696..1cbc37e3b59c 100644 --- a/include/linux/srcu.h +++ b/include/linux/srcu.h @@ -79,6 +79,11 @@ int init_srcu_struct_fast_updown(struct srcu_struct *ssp); // instead of smp_mb(). void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases_shared(ssp); +void call_srcu(struct srcu_struct *ssp, struct rcu_head *head, + rcu_callback_t func); +void cleanup_srcu_struct(struct srcu_struct *ssp); +void synchronize_srcu(struct srcu_struct *ssp); + #ifdef CONFIG_TINY_SRCU #include <linux/srcutiny.h> #elif defined(CONFIG_TREE_SRCU) @@ -87,11 +92,6 @@ void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases_shared(ssp) #error "Unknown SRCU implementation specified to kernel configuration" #endif -void call_srcu(struct srcu_struct *ssp, struct rcu_head *head, - void (*func)(struct rcu_head *head)); -void cleanup_srcu_struct(struct srcu_struct *ssp); -void synchronize_srcu(struct srcu_struct *ssp); - #define SRCU_GET_STATE_COMPLETED 0x1 /** diff --git a/include/linux/srcutiny.h b/include/linux/srcutiny.h index dec7cbe015aa..4976536e8b28 100644 --- a/include/linux/srcutiny.h +++ b/include/linux/srcutiny.h @@ -64,8 +64,6 @@ struct srcu_usage { }; #define init_srcu_struct_fast_updown init_srcu_struct #endif // #ifndef CONFIG_DEBUG_LOCK_ALLOC -void synchronize_srcu(struct srcu_struct *ssp); - /* * Counts the new reader in the appropriate per-CPU element of the * srcu_struct. Can be invoked from irq/bh handlers, but the matching -- 2.53.0.473.g4a7958ca14-goog

