diff --git a/include/linux/srcu.h b/include/linux/srcu.h index 4c1d5f7e62c4f6aef8eded0ec9db4d812a4acd29..ea356d8006750db3ff0949a3d2a4f6a5dee590f5 100644 --- a/include/linux/srcu.h +++ b/include/linux/srcu.h @@ -62,8 +62,13 @@ int init_srcu_struct(struct srcu_struct *sp); #include <linux/srcutree.h> #elif defined(CONFIG_CLASSIC_SRCU) #include <linux/srcuclassic.h> -#else +#elif defined(CONFIG_SRCU) #error "Unknown SRCU implementation specified to kernel configuration" +#else + +/* Dummy definition for things like notifiers. Actual use gets link error. */ +struct srcu_struct { }; + #endif /** diff --git a/init/Kconfig b/init/Kconfig index 1d3475fc94967a58904627d80e8461a3721ddbb0..d928a3724af9357e6dcae2341a86f9f87ecca8f7 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -521,7 +521,6 @@ config RCU_EXPERT config SRCU bool - default y help This option selects the sleepable version of RCU. This version permits arbitrary sleeping or blocking within RCU read-side critical