Re: [PATCH] staging: greybus: loopback: fix up checkpath macro do while error.

From: Ángel Alberto Carretero
Date: Mon Apr 03 2023 - 09:51:14 EST




On 03/04/2023 09:21, Greg Kroah-Hartman wrote:
On Mon, Apr 03, 2023 at 09:23:55AM +0300, Dan Carpenter wrote:
On Sun, Apr 02, 2023 at 08:22:35PM +0200, Ángel Alberto Carretero wrote:


On 02/04/2023 15:16, Greg Kroah-Hartman wrote:
On Sun, Apr 02, 2023 at 02:25:51PM +0200, Angel Alberto Carretero wrote:
Wrap macro in a do-while statement.

Signed-off-by: Angel Alberto Carretero <angelalbertoc.r@xxxxxxxxx>
---
drivers/staging/greybus/loopback.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c
index d7b39f3bb652..371809770ed0 100644
--- a/drivers/staging/greybus/loopback.c
+++ b/drivers/staging/greybus/loopback.c
@@ -162,9 +162,11 @@ static ssize_t name##_avg_show(struct device *dev, \
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)
+ 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, \
--
2.40.0



Any specific reason why you did not test build your change before
submitting it?

thanks,

greg k-h

Apologies, we can drop the patch. I was trying to find an error as part
of the eudyptula challenge and thought I was compiling the driver
correctly. Upon further examination, the macro cannot be written with a
do-while because it is defining functions.

The "eudyptula challenge" and other first patch guides should be updated
to tell people to search for their code on lore.kernel.org before
sending a patch.

The "eudyptula challenge" is not currently running and has not been for
many years now so I do not know where the original poster got their
information from.

thanks,

greg k-h

The challenge is in fact closed but the list of exercises is publicly
available. From my limited experience, it is still one of the best
resources for getting started in linux kernel development even if it is
probably a bit outdated, and lacking a section about testing your
changes properly.

Thanks and sorry again for the mishap,
Alberto.