From patchwork Tue Jun 5 21:32:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramon Fried X-Patchwork-Id: 925587 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZwGYwxvL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 410gQg3DQSz9s1p for ; Wed, 6 Jun 2018 04:32:43 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 20469C21FC7; Tue, 5 Jun 2018 18:32:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 7FF95C21F98; Tue, 5 Jun 2018 18:32:35 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0B0A0C21F98; Tue, 5 Jun 2018 18:32:33 +0000 (UTC) Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by lists.denx.de (Postfix) with ESMTPS id A08F9C21F90 for ; Tue, 5 Jun 2018 18:32:33 +0000 (UTC) Received: by mail-wm0-f68.google.com with SMTP id q4-v6so19938415wmq.1 for ; Tue, 05 Jun 2018 11:32:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=3IfIi57CItE0hN5QgGH7tamzhjcPLwPLLQDHs5o2Mb4=; b=ZwGYwxvL9GILwWDsg3yJKL2WyB+HLqV9/q3hfCTIzqzqynGNwaL3sPxXHvUbR+I5T8 G8yh3q4bdKo3tx3Y9IfaSIwt5KUp/5a1XQR2OV0tLu62nK6j4qGWEYYQ+xtInCpHw1hx iEcR7XSCKwXQb3oYB9h1/jbMFLS0yVSAvelZbg+ksaGVfmFXM7lH7yIgaaOCTb8LArV+ UaoihKuOKUQkgjyGm+tW9ZRKEHZvkqUp790mtdtlHPiCj0Ciy1CkFxnFFNOjoH/YS7xT AUIIfcAV9RWxVzJ/stJpIGJ/sWpL9fm8G3xrDfowH7cbGFTaRfuY3A2FRspDlbG4p7J5 8OVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3IfIi57CItE0hN5QgGH7tamzhjcPLwPLLQDHs5o2Mb4=; b=QwMCOdX2rYJaNtDW0zuCS99eFW8rjPFr9A6OnJEWfZHCi9hksb9w2MQ5Ib0MfAr25U G4nLXoBIf4KHAcFz1eOrEQoX556M56aCNE6m2oatX8QnfwKo7WFA6jTrnGtSEs1tLEmg KBOMsAwnRVmUDkIUYZ8HCCIM7sXRjysRZVxIrdNpjQXWdnZzcQhbkoCYnHxlOjvY2ZZ4 ZaF5MQj+M+Z09muFOqLYPQ3q4UZe8kEnRPUYveF0QZmydw/Ev5FK6FQvvq39Bxu3X5aJ +QT6Zh6m8V29iO1yx686+AcWUqtX4zPyI8HCwjAOEHjScKnkabzC+Z3hIb3vPHowYdKV KDjg== X-Gm-Message-State: APt69E3xKBOa/OACX6/eMMElbCWlzLI+uhj8uKOhq1ksRr5B9oyCUUio QLq714NtGR5Jj1q5fYmWgP4= X-Google-Smtp-Source: ADUXVKLhfunvFtmGWgkLjcHNktZoUpwJhRdHur3nNAnU+1nnc/qZdMEwHPYUWup75FO2l65Km1uSRw== X-Received: by 2002:a1c:454f:: with SMTP id s76-v6mr211898wma.16.1528223553281; Tue, 05 Jun 2018 11:32:33 -0700 (PDT) Received: from localhost.localdomain ([141.226.166.38]) by smtp.gmail.com with ESMTPSA id b16-v6sm9112665wrm.15.2018.06.05.11.32.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jun 2018 11:32:32 -0700 (PDT) From: Ramon Fried To: yamada.masahiro@socionext.com, Tom Rini , u-boot@lists.denx.de, Simon Glass Date: Wed, 6 Jun 2018 00:32:21 +0300 Message-Id: <20180605213221.17334-1-ramon.fried@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [U-Boot] [PATCH v2] bug.h: introduce WARN_ONCE X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add WARN_ONCE definition to allow single time notification of warnings to the user. Taken from Linux kernel (4.17) with slight changes (Removed __section(.data.once)) Signed-off-by: Ramon Fried --- v2: removed change-id, added taken from description to commit message. include/linux/bug.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/linux/bug.h b/include/linux/bug.h index f07bb716fc..67b6057a22 100644 --- a/include/linux/bug.h +++ b/include/linux/bug.h @@ -20,6 +20,13 @@ unlikely(__ret_warn_on); \ }) +#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 bool __warned; \ int __ret_warn_once = !!(condition); \ @@ -31,4 +38,15 @@ unlikely(__ret_warn_once); \ }) +#define WARN_ONCE(condition, format...) ({ \ + static bool __warned; \ + int __ret_warn_once = !!(condition); \ + \ + if (unlikely(__ret_warn_once && !__warned)) { \ + __warned = true; \ + WARN(1, format); \ + } \ + unlikely(__ret_warn_once); \ +}) + #endif /* _LINUX_BUG_H */