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, \
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
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..
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