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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90CD4C433FE for ; Sun, 16 Oct 2022 16:15:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229702AbiJPQPK (ORCPT ); Sun, 16 Oct 2022 12:15:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229670AbiJPQPE (ORCPT ); Sun, 16 Oct 2022 12:15:04 -0400 Received: from msg-4.mailo.com (msg-4.mailo.com [213.182.54.15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43ED3E0D0 for ; Sun, 16 Oct 2022 09:15:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailo.com; s=mailo; t=1665936886; bh=k7eZsNlGVlvO2VDbpSBucEFrK36MwH154duVUBvK8x0=; h=X-EA-Auth:Date:From:To:Cc:Subject:Message-ID:References: MIME-Version:Content-Type:In-Reply-To; b=HQjdOqqeaFuCEca083gHOlSrEW/lyCsdmVL/tgUpcvdPjmv7DVp6i9ChfPMPfPaPU UdNIguLV8k2I+pi9ZiHRaQJP/tTjLURfzVGX2RexDOOmpAjI17T+cS9kDnAw5cHN5k 4Gz/VnP2iLIMA8TbTB0hJnjY400B/4F4Pc4GTuK4= Received: by b-5.in.mailobj.net [192.168.90.15] with ESMTP via [213.182.55.206] Sun, 16 Oct 2022 18:14:46 +0200 (CEST) X-EA-Auth: sNU6v2HgPd/0Fcsr21SK5atgGpH3OBohSAR6FjYO9KVWIVf+/Sfsxa0j1XwEmheIBaRPDpjFLRch5JIAFRveCQRtOdm60T8H Date: Sun, 16 Oct 2022 12:14:42 -0400 From: Deepak R Varma To: Julia Lawall Cc: outreachy@lists.linux.dev, pure.logic@nexus-software.ie, johan@kernel.org, elder@kernel.org, gregkh@linuxfoundation.org, greybus-dev@lists.linaro.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] staging: greybus: loopback: enclose macro statements in do-while loop Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Oct 16, 2022 at 04:51:09PM +0200, Julia Lawall wrote: > > > On Sun, 16 Oct 2022, Deepak R Varma wrote: > > > Include multiple statements of macro definition inside do-while{0} loop > > to avoid possible partial program execution. Issue reported by > > checkpatch script: > > > > ERROR: Macros with multiple statements should be enclosed in a do - while loop > > I don't think this change will compile. See if you can figure out why > not. After trying a direct compile of the loopback.c file, it did not compile. The kernel build ran did not compile the loopback.c file due to missing configuration. About this change, the macro expands to function declarations at compile time and those can't be enclosed in do/while loop as these are not logical execution instructions. So it won't compile. I initially looked for "greybus driver" under the "main menu > drivers > staging drivers" path, but not find any configurations for the driver. While retuning back, I found "greybus support" config under "menu-menu > device drivers" itself. I set it to "M" and build the module. I did not realise that setting this parameter to "M" actually results in adding several configurations under "staging drivers" path. I now understand that. Thank you for your help. I will look for another sensible change and send my new first patch. ./drv > > julia > > > > > Signed-off-by: Deepak R Varma > > --- > > drivers/staging/greybus/loopback.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c > > index 1a61fce98056..37214cb43937 100644 > > --- a/drivers/staging/greybus/loopback.c > > +++ b/drivers/staging/greybus/loopback.c > > @@ -163,9 +163,11 @@ static ssize_t name##_avg_show(struct device *dev, \ > > static DEVICE_ATTR_RO(name##_avg) > > > > #define gb_loopback_stats_attrs(field) \ > > +do { \ > > gb_loopback_ro_stats_attr(field, min, u); \ > > gb_loopback_ro_stats_attr(field, max, u); \ > > - gb_loopback_ro_avg_attr(field) > > + gb_loopback_ro_avg_attr(field); \ > > +} while (0) > > > > #define gb_loopback_attr(field, type) \ > > static ssize_t field##_show(struct device *dev, \ > > -- > > 2.30.2 > > > > > > > > > >