MIPS: Provide more elevant interface cu2_notifier for CP2 extensions.
[sfrench/cifs-2.6.git] / arch / mips / include / asm / cop2.h
index 6b04c98b7fad1dd5be1ff7a64e9cda1b88537835..2cb2f0c2c4f89342ae5256a79d8082f01af4d319 100644 (file)
@@ -9,6 +9,8 @@
 #ifndef __ASM_COP2_H
 #define __ASM_COP2_H
 
+#include <linux/notifier.h>
+
 enum cu2_ops {
        CU2_EXCEPTION,
        CU2_LWC2_OP,
@@ -20,4 +22,14 @@ enum cu2_ops {
 extern int register_cu2_notifier(struct notifier_block *nb);
 extern int cu2_notifier_call_chain(unsigned long val, void *v);
 
+#define cu2_notifier(fn, pri)                                          \
+({                                                                     \
+       static struct notifier_block fn##_nb __cpuinitdata = {          \
+               .notifier_call = fn,                                    \
+               .priority = pri                                         \
+       };                                                              \
+                                                                       \
+       register_cu2_notifier(&fn##_nb);                                \
+})
+
 #endif /* __ASM_COP2_H */