X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=include%2Flinux%2Fcompiler.h;h=e40d8aec3c45f5ab284e03156bdcab93f31e97b5;hb=a1f8f8c3924cff7ffbe15236c18e393f046ad755;hp=f6f144449a78d8c3ff687d879f340b51bfe2dc08;hpb=63ea5c984f577172a145950580c96b5135bf1629;p=carl9170fw.git diff --git a/include/linux/compiler.h b/include/linux/compiler.h index f6f1444..e40d8ae 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -17,16 +17,16 @@ #ifndef __SHARED_COMPILER_H #define __SHARED_COMPILER_H -#define __noinline __attribute__((noinline)) #define __noreturn __attribute__((noreturn)) #define __inline __attribute__((always_inline)) #define __hot __attribute__((hot)) #define __cold __attribute__((cold)) -#define __unused __attribute__((unused)) #define __force __attribute__((force)) -#define __section(s) __attribute__((section("." # s))) -#define __aligned(a) __attribute__((aligned(a))) -#define __packed __attribute__((packed)) +#define __in_section(s) __attribute__((section("." # s))) +#define __visible __attribute__((externally_visible)) + +#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) + #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) @@ -78,7 +78,7 @@ #define container_of(ptr, type, member) ({ \ const typeof(((type *)0)->member) * __mptr = (ptr); \ - (type *)((char *)__mptr - offsetof(type, member)); }) + (type *)(((unsigned long)__mptr - offsetof(type, member))); }) #define MAX_ERRNO 4095 @@ -104,4 +104,11 @@ static inline long IS_ERR_OR_NULL(const void *ptr) return !ptr || IS_ERR_VALUE((unsigned long)ptr); } +static inline unsigned int hweight8(unsigned int w) +{ + unsigned int res = w - ((w >> 1) & 0x55); + res = (res & 0x33) + ((res >> 2) & 0x33); + return (res + (res >> 4)) & 0x0F; +} + #endif /* __SHARED_COMPILER_H */