aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux/printk.h
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2018-02-17 21:25:19 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2018-02-17 21:25:19 +0000
commit03f8ddedf0a5e1e6703d4ec068c236a08eb145ee (patch)
tree0ad88b6a23d4027a1d30bc6eb43fd5b531b1e985 /sys/compat/linuxkpi/common/include/linux/printk.h
parentbce6d88bc1d8c4aec54dfbc45d9d205e4a441e88 (diff)
downloadsrc-03f8ddedf0a5e1e6703d4ec068c236a08eb145ee.tar.gz
src-03f8ddedf0a5e1e6703d4ec068c236a08eb145ee.zip
Add support for printk_ratelimit() function macro and improve the existing
printk_ratelimited() function macro to return a boolean stating if there was a printout, true, or not, false. MFC after: 1 week Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
Notes
Notes: svn path=/head/; revision=329470
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/printk.h')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/printk.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/printk.h b/sys/compat/linuxkpi/common/include/linux/printk.h
index 1480fc686a57..6e8e3daf1a97 100644
--- a/sys/compat/linuxkpi/common/include/linux/printk.h
+++ b/sys/compat/linuxkpi/common/include/linux/printk.h
@@ -106,10 +106,16 @@ print_hex_dump_bytes(const char *prefix_str, const int prefix_type,
print_hex_dump(NULL, prefix_str, prefix_type, 16, 1, buf, len, 0);
}
-#define printk_ratelimited(...) do { \
+#define printk_ratelimit() ({ \
static linux_ratelimit_t __ratelimited; \
- if (linux_ratelimited(&__ratelimited)) \
+ linux_ratelimited(&__ratelimited); \
+})
+
+#define printk_ratelimited(...) ({ \
+ bool __retval = printk_ratelimit(); \
+ if (__retval) \
printk(__VA_ARGS__); \
-} while (0)
+ __retval; \
+})
#endif /* _LINUX_PRINTK_H_ */