From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9D7B3ECD6FF for ; Thu, 12 Feb 2026 00:14:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 042F410E682; Thu, 12 Feb 2026 00:14:49 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PEvr4QPx"; dkim-atps=neutral Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85D8310E687 for ; Thu, 12 Feb 2026 00:14:36 +0000 (UTC) Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-404263bd58fso960109fac.1 for ; Wed, 11 Feb 2026 16:14:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770855275; x=1771460075; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o/myr2hp6uBA+KWlkM+krb2AJfDnLypCssuuL9Sraxc=; b=PEvr4QPxbPjbZ2cWrjKNDek+BtnWpzyiaggqNQ40EHjs0RnKj89lnny3brS1Kwbtk1 3gmruMgpzhLah/YC3I0XQgqYrNz6wJNkZS2+ZzAfIrFDV153wTzaYZQU3Uq3NhgAW0ct s1OQXrLlIiYRvRkXyp7zyZRiGiNLmWN9KVSNvS6pyWu9h5bQnjYmkm/slhI5NQdOw/Qh T6b0BBzZiwKcM0Cc2vgy2oed5TPhj4EkrKbJgSkbqGXEJsu+vLKt/ltQG7i2Zlwm/Els Fzj3yad5DsY2jLMjn4f9gWXyTAnK5PKP0ay5JTz/KVKvfCYuptG6xgYIzzHAj7InmZIz L4gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770855275; x=1771460075; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=o/myr2hp6uBA+KWlkM+krb2AJfDnLypCssuuL9Sraxc=; b=JbDN3A3zgt1g5MisUjIbhJXPyXbGJV5EtV6GwOzdm15KokyYn8HhLYScUKAcMf0al8 NJ72e7ybN5aLSe71gUV1sLsrye5IraK/Tfh2oVnhSZEZUPbJ90ijQhZon3hSs/1ZcOE4 xNUTWAioxEbHgcpHvlhnq4OIo8wOPLOHuILPCVWfwHRiSaQ7K5n49MyGTe+IlzRzZkgf Rvv63/bigsC70+m0s1JDj2W0xdDyp5sauvgCvnvdmihA4D9ASLQ2Vqi9UF1f6544dRF+ 3qnHyP8YBMobqPiWu4+dVG7RbcN5EE1FuTV4E5kdrrx007IyifyJXvf4T54SJczXztFs 1ndQ== X-Gm-Message-State: AOJu0YyzeET8sCwN3T80mNDKzckYpkbjz9z2z4YU0ck6DQNVc6NLBgdb jLZgZOMsqq1bKGPVHdRDel5A5WddpzeerWUgalhKJL4DL9iwqN1G/SvLTXy2nw== X-Gm-Gg: AZuq6aJmgIbiTHtImyZX7Mawu5hKlPwbkLLCcwSxXfMUEbSXXbHxsCqI04VpXYy6QHA SIiHZ48e3MMj9BAOg2NLOaFRhMDS3S4+vee4n10fl4oMaed/i2/y5LdG4fOd50NpakBqNrQiMXl IBXMSr1wp4HUCXDDFYKRcPc/qBeEba8Scrcjqyya4rBCgXzdoMhyHb1GvoEVsqKwmH4VIIIK1vZ jwicPSFDnOBTuggHIpFBpJBLzGTx/Gbj59l+2MwBcdyOPc+fqJYsL8IjjBFLEXzGrVE5YbT/HWH YvUIM5f4MWZTIR3k3nnKg7SQ/6lN719QRPaWEWpZqfAMMNxyCfx0gBe2KRovPRwFethfrE2mm2x 4fUB5wYxVgqQTrdtn2v/fyJmEPuktEzKisFv7vX+GM9Q+WSWgZ9pLre/01DgZ3t3L7yWvYwlLQS rbxFtFzdwdMsddFbRAw2eBiPCYaWpbr4L17Dz2Gv2MZAhTr2SKf0oXE7aKE9Z1et0= X-Received: by 2002:a05:6870:f223:b0:408:7ed6:e0a0 with SMTP id 586e51a60fabf-40ec8821b1dmr496485fac.9.1770855275064; Wed, 11 Feb 2026 16:14:35 -0800 (PST) Received: from godzilla (c-98-38-17-99.hsd1.co.comcast.net. [98.38.17.99]) by smtp.googlemail.com with ESMTPSA id 586e51a60fabf-40eaf1062ffsm2331939fac.13.2026.02.11.16.14.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Feb 2026 16:14:34 -0800 (PST) From: Jim Cromie To: dri-devel@lists.freedesktop.org, intel-gfx-trybot@lists.freedesktop.org Cc: Jim Cromie , Louis Chauvet Subject: [PATCH 21/61] dyndbg: change __dynamic_func_call_cls* macros into expressions Date: Wed, 11 Feb 2026 17:13:16 -0700 Message-ID: <20260212001359.97296-22-jim.cromie@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260212001359.97296-21-jim.cromie@gmail.com> References: <20260212001359.97296-1-jim.cromie@gmail.com> <20260212001359.97296-2-jim.cromie@gmail.com> <20260212001359.97296-3-jim.cromie@gmail.com> <20260212001359.97296-4-jim.cromie@gmail.com> <20260212001359.97296-5-jim.cromie@gmail.com> <20260212001359.97296-6-jim.cromie@gmail.com> <20260212001359.97296-7-jim.cromie@gmail.com> <20260212001359.97296-8-jim.cromie@gmail.com> <20260212001359.97296-9-jim.cromie@gmail.com> <20260212001359.97296-10-jim.cromie@gmail.com> <20260212001359.97296-11-jim.cromie@gmail.com> <20260212001359.97296-12-jim.cromie@gmail.com> <20260212001359.97296-13-jim.cromie@gmail.com> <20260212001359.97296-14-jim.cromie@gmail.com> <20260212001359.97296-15-jim.cromie@gmail.com> <20260212001359.97296-16-jim.cromie@gmail.com> <20260212001359.97296-17-jim.cromie@gmail.com> <20260212001359.97296-18-jim.cromie@gmail.com> <20260212001359.97296-19-jim.cromie@gmail.com> <20260212001359.97296-20-jim.cromie@gmail.com> <20260212001359.97296-21-jim.cromie@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The Xe driver's XE_IOCTL_DBG macro calls drm_dbg() from inside an if (expression). This breaks when CONFIG_DRM_USE_DYNAMIC_DEBUG=y because the invoked macro has a do-while-0 wrapper, and is not an expression. if (cond && (drm_dbg("expr-form"),1)) { ... do some more stuff } Fix for this usage by changing __dynamic_func_call_cls{,_no_desc} macros into expressions, by replacing the do-while-0s with a ({ }) wrapper. In the common usage, the trailing ';' converts the expression into a statement. drm_dbg("statement form"); Reviewed-by: Louis Chauvet Signed-off-by: Jim Cromie --- include/linux/dynamic_debug.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index b6198ecc854d..80160028461a 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -224,24 +224,24 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, * (|_cls): adds in _DPRINT_CLASS_DFLT as needed * (|_no_desc): former gets callsite descriptor as 1st arg (for prdbgs) */ -#define __dynamic_func_call_cls(id, cls, fmt, func, ...) do { \ +#define __dynamic_func_call_cls(id, cls, fmt, func, ...) ({ \ DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt); \ if (DYNAMIC_DEBUG_BRANCH(id)) { \ func(&id, ##__VA_ARGS__); \ __dynamic_dump_stack(id); \ } \ -} while (0) +}) #define __dynamic_func_call(id, fmt, func, ...) \ __dynamic_func_call_cls(id, _DPRINTK_CLASS_DFLT, fmt, \ func, ##__VA_ARGS__) -#define __dynamic_func_call_cls_no_desc(id, cls, fmt, func, ...) do { \ +#define __dynamic_func_call_cls_no_desc(id, cls, fmt, func, ...) ({ \ DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt); \ if (DYNAMIC_DEBUG_BRANCH(id)) { \ func(__VA_ARGS__); \ __dynamic_dump_stack(id); \ } \ -} while (0) +}) #define __dynamic_func_call_no_desc(id, fmt, func, ...) \ __dynamic_func_call_cls_no_desc(id, _DPRINTK_CLASS_DFLT, \ fmt, func, ##__VA_ARGS__) -- 2.53.0