Commit 25fd529c authored by Luc Van Oostenryck's avatar Luc Van Oostenryck Committed by Linus Torvalds

sparse: group the defines by functionality

By popular demand, reorder the defines for sparse annotations and group
them by functionality.
Signed-off-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Acked-by: default avatarMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Link: lore.kernel.org/r/CAMuHMdWQsirja-h3wBcZezk+H2Q_HShhAks8Hc8ps5fTAp=ObQ@mail.gmail.com
Link: http://lkml.kernel.org/r/20200621143652.53798-1-luc.vanoostenryck@gmail.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9e58c5e2
...@@ -5,48 +5,54 @@ ...@@ -5,48 +5,54 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#ifdef __CHECKER__ #ifdef __CHECKER__
/* address spaces */
# define __kernel __attribute__((address_space(0))) # define __kernel __attribute__((address_space(0)))
# define __user __attribute__((noderef, address_space(__user))) # define __user __attribute__((noderef, address_space(__user)))
# define __safe __attribute__((safe))
# define __force __attribute__((force))
# define __nocast __attribute__((nocast))
# define __iomem __attribute__((noderef, address_space(__iomem))) # define __iomem __attribute__((noderef, address_space(__iomem)))
# define __percpu __attribute__((noderef, address_space(__percpu)))
# define __rcu __attribute__((noderef, address_space(__rcu)))
extern void __chk_user_ptr(const volatile void __user *);
extern void __chk_io_ptr(const volatile void __iomem *);
/* context/locking */
# define __must_hold(x) __attribute__((context(x,1,1))) # define __must_hold(x) __attribute__((context(x,1,1)))
# define __acquires(x) __attribute__((context(x,0,1))) # define __acquires(x) __attribute__((context(x,0,1)))
# define __releases(x) __attribute__((context(x,1,0))) # define __releases(x) __attribute__((context(x,1,0)))
# define __acquire(x) __context__(x,1) # define __acquire(x) __context__(x,1)
# define __release(x) __context__(x,-1) # define __release(x) __context__(x,-1)
# define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0)
# define __percpu __attribute__((noderef, address_space(__percpu))) /* other */
# define __rcu __attribute__((noderef, address_space(__rcu))) # define __force __attribute__((force))
# define __nocast __attribute__((nocast))
# define __safe __attribute__((safe))
# define __private __attribute__((noderef)) # define __private __attribute__((noderef))
extern void __chk_user_ptr(const volatile void __user *);
extern void __chk_io_ptr(const volatile void __iomem *);
# define ACCESS_PRIVATE(p, member) (*((typeof((p)->member) __force *) &(p)->member)) # define ACCESS_PRIVATE(p, member) (*((typeof((p)->member) __force *) &(p)->member))
#else /* __CHECKER__ */ #else /* __CHECKER__ */
/* address spaces */
# define __kernel
# ifdef STRUCTLEAK_PLUGIN # ifdef STRUCTLEAK_PLUGIN
# define __user __attribute__((user)) # define __user __attribute__((user))
# else # else
# define __user # define __user
# endif # endif
# define __kernel
# define __safe
# define __force
# define __nocast
# define __iomem # define __iomem
# define __percpu
# define __rcu
# define __chk_user_ptr(x) (void)0 # define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0 # define __chk_io_ptr(x) (void)0
# define __builtin_warning(x, y...) (1) /* context/locking */
# define __must_hold(x) # define __must_hold(x)
# define __acquires(x) # define __acquires(x)
# define __releases(x) # define __releases(x)
# define __acquire(x) (void)0 # define __acquire(x) (void)0
# define __release(x) (void)0 # define __release(x) (void)0
# define __cond_lock(x,c) (c) # define __cond_lock(x,c) (c)
# define __percpu /* other */
# define __rcu # define __force
# define __nocast
# define __safe
# define __private # define __private
# define ACCESS_PRIVATE(p, member) ((p)->member) # define ACCESS_PRIVATE(p, member) ((p)->member)
# define __builtin_warning(x, y...) (1)
#endif /* __CHECKER__ */ #endif /* __CHECKER__ */
/* Indirect macros required for expanded argument pasting, eg. __LINE__. */ /* Indirect macros required for expanded argument pasting, eg. __LINE__. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment