/drivers/include/drm/drm_crtc.h |
---|
817,7 → 817,7 |
/* output poll support */ |
bool poll_enabled; |
bool poll_running; |
// struct delayed_work output_poll_work; |
struct delayed_work output_poll_work; |
/* pointers to standard properties */ |
struct list_head property_blob_list; |
/drivers/include/linux/bug.h |
---|
58,6 → 58,8 |
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0) |
#define BUILD_BUG_ON_NOT_POWER_OF_2(n) \ |
BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0)) |
#endif |
/drivers/include/linux/compiler-gcc.h |
---|
5,6 → 5,9 |
/* |
* Common definitions for all gcc versions go here. |
*/ |
#define GCC_VERSION (__GNUC__ * 10000 \ |
+ __GNUC_MINOR__ * 100 \ |
+ __GNUC_PATCHLEVEL__) |
/* Optimization barrier */ |
/drivers/include/linux/compiler-gcc3.h |
---|
2,22 → 2,22 |
#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead." |
#endif |
#if __GNUC_MINOR__ < 2 |
#if GCC_VERSION < 30200 |
# error Sorry, your compiler is too old - please upgrade it. |
#endif |
#if __GNUC_MINOR__ >= 3 |
#if GCC_VERSION >= 30300 |
# define __used __attribute__((__used__)) |
#else |
# define __used __attribute__((__unused__)) |
#endif |
#if __GNUC_MINOR__ >= 4 |
#if GCC_VERSION >= 30400 |
#define __must_check __attribute__((warn_unused_result)) |
#endif |
#ifdef CONFIG_GCOV_KERNEL |
# if __GNUC_MINOR__ < 4 |
# if GCC_VERSION < 30400 |
# error "GCOV profiling support for gcc versions below 3.4 not included" |
# endif /* __GNUC_MINOR__ */ |
#endif /* CONFIG_GCOV_KERNEL */ |
/drivers/include/linux/compiler-gcc4.h |
---|
4,7 → 4,7 |
/* GCC 4.1.[01] miscompiles __weak */ |
#ifdef __KERNEL__ |
# if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1 |
# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 |
# error Your version of gcc miscompiles the __weak directive |
# endif |
#endif |
13,7 → 13,11 |
#define __must_check __attribute__((warn_unused_result)) |
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |
#if __GNUC_MINOR__ >= 3 |
#if GCC_VERSION >= 40100 |
# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
#endif |
#if GCC_VERSION >= 40300 |
/* Mark functions as cold. gcc will assume any path leading to a call |
to them will be unlikely. This means a lot of manual unlikely()s |
are unnecessary now for any paths leading to the usual suspects |
29,9 → 33,15 |
the kernel context */ |
#define __cold __attribute__((__cold__)) |
#define __linktime_error(message) __attribute__((__error__(message))) |
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) |
#if __GNUC_MINOR__ >= 5 |
#ifndef __CHECKER__ |
# define __compiletime_warning(message) __attribute__((warning(message))) |
# define __compiletime_error(message) __attribute__((error(message))) |
#endif /* __CHECKER__ */ |
#endif /* GCC_VERSION >= 40300 */ |
#if GCC_VERSION >= 40500 |
/* |
* Mark a position in code as unreachable. This can be used to |
* suppress control flow warnings after asm blocks that transfer |
46,10 → 56,9 |
/* Mark a function definition as prohibited from being cloned. */ |
#define __noclone __attribute__((__noclone__)) |
#endif |
#endif |
#endif /* GCC_VERSION >= 40500 */ |
#if __GNUC_MINOR__ >= 6 |
#if GCC_VERSION >= 40600 |
/* |
* Tell the optimizer that something else uses this function or variable. |
*/ |
56,20 → 65,13 |
#define __visible __attribute__((externally_visible)) |
#endif |
#if __GNUC_MINOR__ > 0 |
#define __compiletime_object_size(obj) __builtin_object_size(obj, 0) |
#endif |
#if __GNUC_MINOR__ >= 3 && !defined(__CHECKER__) |
#define __compiletime_warning(message) __attribute__((warning(message))) |
#define __compiletime_error(message) __attribute__((error(message))) |
#endif |
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP |
#if __GNUC_MINOR__ >= 4 |
#if GCC_VERSION >= 40400 |
#define __HAVE_BUILTIN_BSWAP32__ |
#define __HAVE_BUILTIN_BSWAP64__ |
#endif |
#if __GNUC_MINOR__ >= 8 || (defined(__powerpc__) && __GNUC_MINOR__ >= 6) |
#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) |
#define __HAVE_BUILTIN_BSWAP16__ |
#endif |
#endif |
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ |
/drivers/include/linux/compiler.h |
---|
170,6 → 170,11 |
(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__ */ |
302,10 → 307,36 |
#endif |
#ifndef __compiletime_error |
# define __compiletime_error(message) |
# define __compiletime_error_fallback(condition) \ |
do { ((void)sizeof(char[1 - 2 * condition])); } while (0) |
#else |
# define __compiletime_error_fallback(condition) do { } while (0) |
#endif |
#ifndef __linktime_error |
# define __linktime_error(message) |
#endif |
#define __compiletime_assert(condition, msg, prefix, suffix) \ |
do { \ |
bool __cond = !(condition); \ |
extern void prefix ## suffix(void) __compiletime_error(msg); \ |
if (__cond) \ |
prefix ## suffix(); \ |
__compiletime_error_fallback(__cond); \ |
} while (0) |
#define _compiletime_assert(condition, msg, prefix, suffix) \ |
__compiletime_assert(condition, msg, prefix, suffix) |
/** |
* compiletime_assert - break build and emit msg if condition is false |
* @condition: a compile-time constant condition to check |
* @msg: a message to emit if condition is false |
* |
* In tradition of POSIX assert, this macro will break the build if the |
* supplied condition is *false*, emitting the supplied error message if the |
* compiler has support to do so. |
*/ |
#define compiletime_assert(condition, msg) \ |
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) |
/* |
* Prevent the compiler from merging or refetching accesses. The compiler |
* is also forbidden from reordering successive instances of ACCESS_ONCE(), |
/drivers/include/linux/kernel.h |
---|
87,10 → 87,16 |
return buf; |
} |
extern int hex_to_bin(char ch); |
extern void hex2bin(u8 *dst, const char *src, size_t count); |
enum { |
DUMP_PREFIX_NONE, |
DUMP_PREFIX_ADDRESS, |
DUMP_PREFIX_OFFSET |
}; |
int hex_to_bin(char ch); |
int hex2bin(u8 *dst, const char *src, size_t count); |
//int printk(const char *fmt, ...); |
#define printk(fmt, arg...) dbgprintf(fmt , ##arg) |
335,9 → 341,9 |
#define dev_info(dev, format, arg...) \ |
printk("Info %s " format , __func__, ## arg) |
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) |
//#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) |
#define BUILD_BUG_ON(condition) |
struct page |
{ |
unsigned int addr; |
/drivers/include/linux/wait.h |
---|
172,6 → 172,13 |
struct work_struct work; |
}; |
static inline struct delayed_work *to_delayed_work(struct work_struct *work) |
{ |
return container_of(work, struct delayed_work, work); |
} |
struct workqueue_struct *alloc_workqueue_key(const char *fmt, |
unsigned int flags, int max_active); |
182,6 → 189,13 |
int queue_delayed_work(struct workqueue_struct *wq, |
struct delayed_work *dwork, unsigned long delay); |
#define INIT_WORK(_work, _func) \ |
do { \ |
INIT_LIST_HEAD(&(_work)->entry); \ |
(_work)->func = _func; \ |
} while (0) |
#define INIT_DELAYED_WORK(_work, _func) \ |
do { \ |
INIT_LIST_HEAD(&(_work)->work.entry); \ |
207,5 → 221,7 |
#define DEFINE_WAIT(name) DEFINE_WAIT_FUNC(name, autoremove_wake_function) |
#endif |