|
@@ -42,6 +42,10 @@ extern void __chk_io_ptr(const volatile void __iomem *);
|
|
|
# define __rcu
|
|
|
#endif
|
|
|
|
|
|
+/* Indirect macros required for expanded argument pasting, eg. __LINE__. */
|
|
|
+#define ___PASTE(a,b) a##b
|
|
|
+#define __PASTE(a,b) ___PASTE(a,b)
|
|
|
+
|
|
|
#ifdef __KERNEL__
|
|
|
|
|
|
#ifdef __GNUC__
|
|
@@ -164,6 +168,11 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
|
|
(typeof(ptr)) (__ptr + (off)); })
|
|
|
#endif
|
|
|
|
|
|
+/* Not-quite-unique ID. */
|
|
|
+#ifndef __UNIQUE_ID
|
|
|
+# define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__)
|
|
|
+#endif
|
|
|
+
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
|
|
#endif /* __ASSEMBLY__ */
|