mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
bug.h: introduce WARN_ONCE
Add WARN_ONCE definition to allow single time notification of warnings to the user. Taken from Linux kernel (4.17) with slight changes (Removed __section(.data.once)) Signed-off-by: Ramon Fried <ramon.fried@gmail.com> [trini: Drop the musb and dwc3 compat versions] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
46960ad6d0
commit
948f32c856
3 changed files with 18 additions and 7 deletions
|
@ -11,7 +11,6 @@
|
||||||
#ifndef __DWC3_LINUX_COMPAT__
|
#ifndef __DWC3_LINUX_COMPAT__
|
||||||
#define __DWC3_LINUX_COMPAT__
|
#define __DWC3_LINUX_COMPAT__
|
||||||
|
|
||||||
#define WARN(val, format, arg...) debug(format, ##arg)
|
|
||||||
#define dev_WARN(dev, format, arg...) debug(format, ##arg)
|
#define dev_WARN(dev, format, arg...) debug(format, ##arg)
|
||||||
|
|
||||||
static inline size_t strlcat(char *dest, const char *src, size_t n)
|
static inline size_t strlcat(char *dest, const char *src, size_t n)
|
||||||
|
|
|
@ -5,12 +5,6 @@
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/compat.h>
|
#include <linux/compat.h>
|
||||||
|
|
||||||
#define WARN(condition, fmt, args...) ({ \
|
|
||||||
int ret_warn = !!condition; \
|
|
||||||
if (ret_warn) \
|
|
||||||
printf(fmt, ##args); \
|
|
||||||
ret_warn; })
|
|
||||||
|
|
||||||
#define device_init_wakeup(dev, a) do {} while (0)
|
#define device_init_wakeup(dev, a) do {} while (0)
|
||||||
|
|
||||||
#define platform_data device_data
|
#define platform_data device_data
|
||||||
|
|
|
@ -20,6 +20,13 @@
|
||||||
unlikely(__ret_warn_on); \
|
unlikely(__ret_warn_on); \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
#define WARN(condition, format...) ({ \
|
||||||
|
int __ret_warn_on = !!(condition); \
|
||||||
|
if (unlikely(__ret_warn_on)) \
|
||||||
|
printf(format); \
|
||||||
|
unlikely(__ret_warn_on); \
|
||||||
|
})
|
||||||
|
|
||||||
#define WARN_ON_ONCE(condition) ({ \
|
#define WARN_ON_ONCE(condition) ({ \
|
||||||
static bool __warned; \
|
static bool __warned; \
|
||||||
int __ret_warn_once = !!(condition); \
|
int __ret_warn_once = !!(condition); \
|
||||||
|
@ -31,4 +38,15 @@
|
||||||
unlikely(__ret_warn_once); \
|
unlikely(__ret_warn_once); \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
#define WARN_ONCE(condition, format...) ({ \
|
||||||
|
static bool __warned; \
|
||||||
|
int __ret_warn_once = !!(condition); \
|
||||||
|
\
|
||||||
|
if (unlikely(__ret_warn_once && !__warned)) { \
|
||||||
|
__warned = true; \
|
||||||
|
WARN(1, format); \
|
||||||
|
} \
|
||||||
|
unlikely(__ret_warn_once); \
|
||||||
|
})
|
||||||
|
|
||||||
#endif /* _LINUX_BUG_H */
|
#endif /* _LINUX_BUG_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue