From: Simon Glass Date: Fri, 19 May 2017 02:08:52 +0000 (-0600) Subject: Update WARN_ON() to return a value X-Git-Tag: v2017.07-rc1~166 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd7029029f5fd23990fb18c1049167fdcf95104d;p=oweals%2Fu-boot.git Update WARN_ON() to return a value In linux v4.9 this returns a value. This saves checking the warning condition twice in some code. Update the U-Boot version to do this also. Signed-off-by: Simon Glass --- diff --git a/include/linux/compat.h b/include/linux/compat.h index a43e4d6698..03f9bef0da 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -106,8 +106,12 @@ static inline void kmem_cache_destroy(struct kmem_cache *cachep) #define BUG_ON(condition) do { if (condition) BUG(); } while(0) #endif /* BUG */ -#define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \ - , __FILE__, __LINE__); } +#define WARN_ON(condition) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) \ + printf("WARNING in %s line %d\n", __FILE__, __LINE__);; \ + unlikely(__ret_warn_on); \ +}) #define PAGE_SIZE 4096