mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop
@ 2017-07-18 10:56 karthik
  2017-07-18 11:04 ` Johan Hovold
  2017-07-18 11:11 ` Bryan O'Donoghue
  0 siblings, 2 replies; 4+ messages in thread
From: karthik @ 2017-07-18 10:56 UTC (permalink / raw)
  To: pure.logic, johan, elder, gregkh
  Cc: greybus-dev, devel, linux-kernel, sunil.m, Karthik Tummala

From: Karthik Tummala <karthik@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@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,				\
-- 
1.9.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop
  2017-07-18 10:56 [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop karthik
@ 2017-07-18 11:04 ` Johan Hovold
  2017-07-18 11:11 ` Bryan O'Donoghue
  1 sibling, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2017-07-18 11:04 UTC (permalink / raw)
  To: karthik
  Cc: pure.logic, johan, elder, gregkh, greybus-dev, devel,
	linux-kernel, sunil.m

On Tue, Jul 18, 2017 at 04:26:40PM +0530, karthik@techveda.org wrote:
> From: Karthik Tummala <karthik@techveda.org>
> 
> Enclosed multiple macro statements in a do - while loop as per kernel
> coding standard, pointed by checkpatch.
								\
>  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)

You obviously did not even compile-test this before submitting it, which
needless to say, is not ok.

Johan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop
  2017-07-18 10:56 [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop karthik
  2017-07-18 11:04 ` Johan Hovold
@ 2017-07-18 11:11 ` Bryan O'Donoghue
  2017-07-19  6:40   ` karthik
  1 sibling, 1 reply; 4+ messages in thread
From: Bryan O'Donoghue @ 2017-07-18 11:11 UTC (permalink / raw)
  To: karthik, johan, elder, gregkh; +Cc: greybus-dev, devel, linux-kernel, sunil.m

On 18/07/17 11:56, karthik@techveda.org wrote:
> From: Karthik Tummala <karthik@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@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..

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop
  2017-07-18 11:11 ` Bryan O'Donoghue
@ 2017-07-19  6:40   ` karthik
  0 siblings, 0 replies; 4+ messages in thread
From: karthik @ 2017-07-19  6:40 UTC (permalink / raw)
  To: Bryan O'Donoghue, johan, elder, gregkh
  Cc: greybus-dev, devel, linux-kernel, sunil.m

On Tuesday 18 July 2017 04:41 PM, Bryan O'Donoghue wrote:
> On 18/07/17 11:56, karthik@techveda.org wrote:
>> From: Karthik Tummala <karthik@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@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.Hi,
It makes sense, thanks for the insight. Please drop this patch

Thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-07-19  6:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-18 10:56 [PATCH] staging: greybus: loopback: Enclose multiple macro statements in do-while loop karthik
2017-07-18 11:04 ` Johan Hovold
2017-07-18 11:11 ` Bryan O'Donoghue
2017-07-19  6:40   ` karthik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®