#ifndef _TOOLS_ASM_BUG_H #define _TOOLS_ASM_BUG_H #include #define __WARN_printf(arg...) do { fprintf(stderr, arg); } while (0) #define WARN(condition, format...) ({ \ int __ret_warn_on = !!(condition); \ if (unlikely(__ret_warn_on)) \ __WARN_printf(format); \ unlikely(__ret_warn_on); \ }) #define WARN_ON_ONCE(condition) ({ \ static int __warned; \ int __ret_warn_once = !!(condition); \ \ if (unlikely(__ret_warn_once && !__warned)) { \ __warned = true; \ WARN_ON(1); \ } \ unlikely(__ret_warn_once); \ }) #define WARN_ONCE(condition, format...) ({ \ static int __warned; \ int __ret_warn_once = !!(condition); \ \ if (unlikely(__ret_warn_once)) \ if (WARN(!__warned, format)) \ __warned = 1; \ unlikely(__ret_warn_once); \ }) #endif /* _TOOLS_ASM_BUG_H */ 'hidden' name='id' value='66cd794e3c30b8af3b6befe42a378557efb3114a'/> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/net/key
AgeCommit message (Expand)AuthorFilesLines