mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
__UNIQUE_ID()
Jan Beulich points out __COUNTER__ (gcc 4.3 and above), so let's use that to create unique ids. This is better than __LINE__ which we use today, so provide a wrapper. Stanislaw Gruszka <sgruszka@redhat.com> reported that some module parameters start with a digit, so we need to prepend when we for the unique id. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
parent
d890f510c8
commit
6f33d58794
2 changed files with 11 additions and 0 deletions
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
#define __linktime_error(message) __attribute__((__error__(message)))
|
#define __linktime_error(message) __attribute__((__error__(message)))
|
||||||
|
|
||||||
|
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||||
|
|
||||||
#if __GNUC_MINOR__ >= 5
|
#if __GNUC_MINOR__ >= 5
|
||||||
/*
|
/*
|
||||||
* Mark a position in code as unreachable. This can be used to
|
* Mark a position in code as unreachable. This can be used to
|
||||||
|
|
|
@ -42,6 +42,10 @@ extern void __chk_io_ptr(const volatile void __iomem *);
|
||||||
# define __rcu
|
# define __rcu
|
||||||
#endif
|
#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 __KERNEL__
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
|
@ -164,6 +168,11 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||||
(typeof(ptr)) (__ptr + (off)); })
|
(typeof(ptr)) (__ptr + (off)); })
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Not-quite-unique ID. */
|
||||||
|
#ifndef __UNIQUE_ID
|
||||||
|
# define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue