mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
Merge branch 'core/printk' into tracing/ftrace
This commit is contained in:
commit
546e5354a6
@ -242,6 +242,19 @@ extern struct ratelimit_state printk_ratelimit_state;
|
||||
extern int printk_ratelimit(void);
|
||||
extern bool printk_timed_ratelimit(unsigned long *caller_jiffies,
|
||||
unsigned int interval_msec);
|
||||
|
||||
/*
|
||||
* Print a one-time message (analogous to WARN_ONCE() et al):
|
||||
*/
|
||||
#define printk_once(x...) ({ \
|
||||
static int __print_once = 1; \
|
||||
\
|
||||
if (__print_once) { \
|
||||
__print_once = 0; \
|
||||
printk(x); \
|
||||
} \
|
||||
})
|
||||
|
||||
#else
|
||||
static inline int vprintk(const char *s, va_list args)
|
||||
__attribute__ ((format (printf, 1, 0)));
|
||||
@ -253,6 +266,10 @@ static inline int printk_ratelimit(void) { return 0; }
|
||||
static inline bool printk_timed_ratelimit(unsigned long *caller_jiffies, \
|
||||
unsigned int interval_msec) \
|
||||
{ return false; }
|
||||
|
||||
/* No effect, but we still get type checking even in the !PRINTK case: */
|
||||
#define printk_once(x...) printk(x)
|
||||
|
||||
#endif
|
||||
|
||||
extern int printk_needs_cpu(int cpu);
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include <linux/compiler.h> /* for inline */
|
||||
#include <linux/types.h> /* for size_t */
|
||||
#include <linux/stddef.h> /* for NULL */
|
||||
#include <stdarg.h>
|
||||
|
||||
extern char *strndup_user(const char __user *, long);
|
||||
|
||||
@ -111,6 +112,12 @@ extern void argv_free(char **argv);
|
||||
|
||||
extern bool sysfs_streq(const char *s1, const char *s2);
|
||||
|
||||
#ifdef CONFIG_BINARY_PRINTF
|
||||
int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args);
|
||||
int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf);
|
||||
int bprintf(u32 *bin_buf, size_t size, const char *fmt, ...) __printf(3, 4);
|
||||
#endif
|
||||
|
||||
extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
|
||||
const void *from, size_t available);
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
# Library configuration
|
||||
#
|
||||
|
||||
config BINARY_PRINTF
|
||||
def_bool n
|
||||
|
||||
menu "Library routines"
|
||||
|
||||
config BITREVERSE
|
||||
|
1018
lib/vsprintf.c
1018
lib/vsprintf.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user