From 153a0a54873682dfbc434a897becfdee193a6cb6 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Tue, 5 May 2015 12:37:05 +0930 Subject: Add prlog_once for logging a message only once Signed-off-by: Joel Stanley Signed-off-by: Stewart Smith --- include/skiboot.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/skiboot.h b/include/skiboot.h index 2684c73..fd4d842 100644 --- a/include/skiboot.h +++ b/include/skiboot.h @@ -94,6 +94,14 @@ extern struct debug_descriptor debug_descriptor; #define PR_INSANE 9 void prlog(int log_level, const char* fmt, ...) __attribute__((format (printf, 2, 3))); #define prerror(fmt...) do { prlog(PR_ERR, fmt); } while(0) +#define prlog_once(arg, ...) \ +({ \ + static bool __prlog_once = false; \ + if (!__prlog_once) { \ + __prlog_once = true; \ + prlog(arg, ##__VA_ARGS__); \ + } \ +}) /* Location codes -- at most 80 chars with null termination */ #define LOC_CODE_SIZE 80 -- cgit v1.1