[PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop

Bryan O'Donoghue pure.logic at nexus-software.ie
Tue Jul 18 11:11:40 UTC 2017


On 18/07/17 11:56, karthik at techveda.org wrote:
> From: Karthik Tummala <karthik at techveda.org>
> 
> Enclosed multiple macro statements in a do - while loop as per kernel
> coding standard, pointed by checkpatch.
> 
> Signed-off-by: Karthik Tummala <karthik at techveda.org>
> ---
>   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..


More information about the devel mailing list