Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751675AbdGRLFz (ORCPT ); Tue, 18 Jul 2017 07:05:55 -0400 Received: from mail-lf0-f46.google.com ([209.85.215.46]:35579 "EHLO mail-lf0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751378AbdGRLFv (ORCPT ); Tue, 18 Jul 2017 07:05:51 -0400 Subject: Re: [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop To: karthik@techveda.org, johan@kernel.org, elder@kernel.org, gregkh@linuxfoundation.org Cc: greybus-dev@lists.linaro.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, sunil.m@techveda.org References: <1500375400-9617-1-git-send-email-karthik@techveda.org> From: "Bryan O'Donoghue" Message-ID: <398cb6c9-9973-9ba2-ed7c-4d5527e19f88@nexus-software.ie> Date: Tue, 18 Jul 2017 12:11:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <1500375400-9617-1-git-send-email-karthik@techveda.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1680 Lines: 47 On 18/07/17 11:56, karthik@techveda.org wrote: > From: Karthik Tummala > > Enclosed multiple macro statements in a do - while loop as per kernel > coding standard, pointed by checkpatch. > > Signed-off-by: Karthik Tummala > --- > drivers/staging/greybus/loopback.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c > index 08e2558..c616555 100644 > --- a/drivers/staging/greybus/loopback.c > +++ b/drivers/staging/greybus/loopback.c > @@ -176,10 +176,12 @@ static DEVICE_ATTR_RO(name##_##field) > } \ > static DEVICE_ATTR_RO(name##_avg) > > -#define gb_loopback_stats_attrs(field) \ > - gb_loopback_ro_stats_attr(field, min, u); \ > - gb_loopback_ro_stats_attr(field, max, u); \ > - gb_loopback_ro_avg_attr(field) > +#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); \ > +} while (0) > > #define gb_loopback_attr(field, type) \ > static ssize_t field##_show(struct device *dev, \ > Macros with multiple statements should be enclosed in a do - while block: .. code-block:: c #define macrofun(a, b, c) \ do { \ if (a == 5) \ do_this(b, c); \ } while (0) I don't think it really applies. We're declaring functions not inlining executable code..