From patchwork Sun Aug 18 02:42:23 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 2846132 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 6F3C0BF546 for ; Sun, 18 Aug 2013 03:18:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 816C0202C4 for ; Sun, 18 Aug 2013 03:18:25 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 63530202C1 for ; Sun, 18 Aug 2013 03:18:24 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VAt0L-0000fL-DR; Sun, 18 Aug 2013 02:46:12 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VAszV-00068R-K0; Sun, 18 Aug 2013 02:45:19 +0000 Received: from comal.ext.ti.com ([198.47.26.152]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VAsxo-0005x1-Gd for linux-arm-kernel@lists.infradead.org; Sun, 18 Aug 2013 02:43:46 +0000 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id r7I2h2kJ025627; Sat, 17 Aug 2013 21:43:02 -0500 Received: from DLEE71.ent.ti.com (dlee71.ent.ti.com [157.170.170.114]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id r7I2h2Cj016917; Sat, 17 Aug 2013 21:43:02 -0500 Received: from dlelxv22.itg.ti.com (172.17.1.197) by DLEE71.ent.ti.com (157.170.170.114) with Microsoft SMTP Server id 14.2.342.3; Sat, 17 Aug 2013 21:43:02 -0500 Received: from joel-laptop.itg.ti.com (h112-6.vpn.ti.com [172.24.112.6]) by dlelxv22.itg.ti.com (8.13.8/8.13.8) with ESMTP id r7I2gZOg013287; Sat, 17 Aug 2013 21:43:01 -0500 From: Joel Fernandes To: Herbert Xu , "David S. Miller" , Mark Greer , Tony Lindgren , Santosh Shilimkar , Rajendra Nayak , Lokesh Vutla Subject: [PATCH v2 02/14] crypto: omap-aes: Add useful debug macros Date: Sat, 17 Aug 2013 21:42:23 -0500 Message-ID: <1376793755-30478-3-git-send-email-joelf@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1376793755-30478-1-git-send-email-joelf@ti.com> References: <1376793755-30478-1-git-send-email-joelf@ti.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130817_224333_208358_7C5E0538 X-CRM114-Status: GOOD ( 15.49 ) X-Spam-Score: -9.6 (---------) Cc: Joel Fernandes , Linux OMAP List , Linux Kernel Mailing List , Linux ARM Kernel List , Linux Crypto Mailing List X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When DEBUG is enabled, these macros can be used to print variables in integer and hex format, and clearly display which registers, offsets and values are being read/written , including printing the names of the offsets and their values. Note: This patch results in a checkpatch error that cannot be fixed. ERROR: Macros with multiple statements should be enclosed in a do - while loop +#define omap_aes_read(dd, offset) \ + __raw_readl(dd->io_base + offset); \ + pr_debug("omap_aes_read(" #offset ")\n"); Using do-while loop will break a lot of code such as: ret = omap_aes_read(..); On the other hand, not using a do-while loop will only result in a spurious debug print message when DEBUG is enabled, all other issues would be caught at compile time if any. As such, there is no code in the driver as of now that requires a do-while loop, but there is code that will break if a do-while loop is used in the macro so we ignore the checkpatch error in this case. Signed-off-by: Joel Fernandes --- drivers/crypto/omap-aes.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c index ee15b0f..26b802b 100644 --- a/drivers/crypto/omap-aes.c +++ b/drivers/crypto/omap-aes.c @@ -13,7 +13,8 @@ * */ -#define pr_fmt(fmt) "%s: " fmt, __func__ +#define prn(num) pr_debug(#num "=%d\n", num) +#define prx(num) pr_debug(#num "=%x\n", num) #include #include @@ -172,16 +173,35 @@ struct omap_aes_dev { static LIST_HEAD(dev_list); static DEFINE_SPINLOCK(list_lock); +#ifdef DEBUG +/* + * Note: In DEBUG mode, when using conditionals, omap_aes_read _must_ + * be surrounded by braces otherwise you may see spurious prints. + */ +#define omap_aes_read(dd, offset) \ + __raw_readl(dd->io_base + offset); \ + pr_debug("omap_aes_read(" #offset ")\n"); +#else static inline u32 omap_aes_read(struct omap_aes_dev *dd, u32 offset) { return __raw_readl(dd->io_base + offset); } +#endif +#ifdef DEBUG +#define omap_aes_write(dd, offset, value) \ + do { \ + pr_debug("omap_aes_write(" #offset "=%x) value=%d\n", \ + offset, value); \ + __raw_writel(value, dd->io_base + offset); \ + } while (0) +#else static inline void omap_aes_write(struct omap_aes_dev *dd, u32 offset, u32 value) { __raw_writel(value, dd->io_base + offset); } +#endif static inline void omap_aes_write_mask(struct omap_aes_dev *dd, u32 offset, u32 value, u32 mask)