driverdev-devel.linuxdriverproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
@ 2021-02-11  9:54 Hemansh Agnihotri
  2021-02-11 10:00 ` Greg KH
  2021-02-11 13:07 ` kernel test robot
  0 siblings, 2 replies; 5+ messages in thread
From: Hemansh Agnihotri @ 2021-02-11  9:54 UTC (permalink / raw)
  To: johan, elder, gregkh; +Cc: devel, greybus-dev, linux-kernel

This patch add fixes an checkpatch error for "Macros with multiple statements
should be enclosed in a do - while loop"

Signed-off-by: Hemansh Agnihotri <hemanshagnihotri27@gmail.com>
---
 drivers/staging/greybus/loopback.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c
index 2471448ba42a..6dd95d648999 100644
--- a/drivers/staging/greybus/loopback.c
+++ b/drivers/staging/greybus/loopback.c
@@ -162,10 +162,11 @@ static ssize_t name##_avg_show(struct device *dev,		\
 }									\
 static DEVICE_ATTR_RO(name##_avg)
 
-#define gb_loopback_stats_attrs(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)
+	gb_loopback_ro_avg_attr(field);				\
+	} while (0)
 
 #define gb_loopback_attr(field, type)					\
 static ssize_t field##_show(struct device *dev,				\
-- 
2.30.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

* Re: [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
  2021-02-11  9:54 [PATCH 1/1] staging: greybus: Added do - while in multi statement macro Hemansh Agnihotri
@ 2021-02-11 10:00 ` Greg KH
  2021-02-11 10:10   ` [greybus-dev] " Viresh Kumar
  2021-02-11 13:07 ` kernel test robot
  1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2021-02-11 10:00 UTC (permalink / raw)
  To: Hemansh Agnihotri; +Cc: devel, greybus-dev, elder, johan, linux-kernel

On Thu, Feb 11, 2021 at 03:24:44PM +0530, Hemansh Agnihotri wrote:
> This patch add fixes an checkpatch error for "Macros with multiple statements
> should be enclosed in a do - while loop"
> 
> Signed-off-by: Hemansh Agnihotri <hemanshagnihotri27@gmail.com>

Any reason you didn't test-build your patch before sending it out?

That's a bit rude to reviewers :(

Please always do that.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

* Re: [greybus-dev] [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
  2021-02-11 10:00 ` Greg KH
@ 2021-02-11 10:10   ` Viresh Kumar
  2021-02-15 10:52     ` Dan Carpenter
  0 siblings, 1 reply; 5+ messages in thread
From: Viresh Kumar @ 2021-02-11 10:10 UTC (permalink / raw)
  To: Greg KH; +Cc: devel, elder, linux-kernel, johan, greybus-dev, Hemansh Agnihotri

On 11-02-21, 11:00, Greg KH wrote:
> On Thu, Feb 11, 2021 at 03:24:44PM +0530, Hemansh Agnihotri wrote:
> > This patch add fixes an checkpatch error for "Macros with multiple statements
> > should be enclosed in a do - while loop"
> > 
> > Signed-off-by: Hemansh Agnihotri <hemanshagnihotri27@gmail.com>
> 
> Any reason you didn't test-build your patch before sending it out?
> 
> That's a bit rude to reviewers :(

I also wonder how two people stumbled upon the exact same thing at the
same time. Copy/paste ?

https://lore.kernel.org/lkml/20210210221439.3489-2-yildirim.fatih@gmail.com/

And of course NAK for the patch. The macro is used outside of any
other routine, and is actually used to create routines. No do-while
required here.

-- 
viresh
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

* Re: [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
  2021-02-11  9:54 [PATCH 1/1] staging: greybus: Added do - while in multi statement macro Hemansh Agnihotri
  2021-02-11 10:00 ` Greg KH
@ 2021-02-11 13:07 ` kernel test robot
  1 sibling, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-02-11 13:07 UTC (permalink / raw)
  To: Hemansh Agnihotri, johan, elder, gregkh
  Cc: devel, greybus-dev, kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 15938 bytes --]

Hi Hemansh,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/Hemansh-Agnihotri/staging-greybus-Added-do-while-in-multi-statement-macro/20210211-175717
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 6953026f21092199a59f2c641a880b1c4025f932
config: m68k-randconfig-r003-20210211 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/e0f87bc4986d8e909dfda91664ce1700b01acb85
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Hemansh-Agnihotri/staging-greybus-Added-do-while-in-multi-statement-macro/20210211-175717
        git checkout e0f87bc4986d8e909dfda91664ce1700b01acb85
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
     165 | #define gb_loopback_stats_attrs(field) do { \
         |                                        ^~
   drivers/staging/greybus/loopback.c:272:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     272 | gb_loopback_stats_attrs(latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
     169 |  } while (0)
         |    ^~~~~
   drivers/staging/greybus/loopback.c:272:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     272 | gb_loopback_stats_attrs(latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
     165 | #define gb_loopback_stats_attrs(field) do { \
         |                                        ^~
   drivers/staging/greybus/loopback.c:274:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     274 | gb_loopback_stats_attrs(requests_per_second);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
     169 |  } while (0)
         |    ^~~~~
   drivers/staging/greybus/loopback.c:274:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     274 | gb_loopback_stats_attrs(requests_per_second);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
     165 | #define gb_loopback_stats_attrs(field) do { \
         |                                        ^~
   drivers/staging/greybus/loopback.c:276:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     276 | gb_loopback_stats_attrs(throughput);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
     169 |  } while (0)
         |    ^~~~~
   drivers/staging/greybus/loopback.c:276:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     276 | gb_loopback_stats_attrs(throughput);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
     165 | #define gb_loopback_stats_attrs(field) do { \
         |                                        ^~
   drivers/staging/greybus/loopback.c:278:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     278 | gb_loopback_stats_attrs(apbridge_unipro_latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
     169 |  } while (0)
         |    ^~~~~
   drivers/staging/greybus/loopback.c:278:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     278 | gb_loopback_stats_attrs(apbridge_unipro_latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:165:40: error: expected identifier or '(' before 'do'
     165 | #define gb_loopback_stats_attrs(field) do { \
         |                                        ^~
   drivers/staging/greybus/loopback.c:280:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     280 | gb_loopback_stats_attrs(gbphy_firmware_latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:169:4: error: expected identifier or '(' before 'while'
     169 |  } while (0)
         |    ^~~~~
   drivers/staging/greybus/loopback.c:280:1: note: in expansion of macro 'gb_loopback_stats_attrs'
     280 | gb_loopback_stats_attrs(gbphy_firmware_latency);
         | ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:318:3: error: 'dev_attr_latency_min' undeclared here (not in a function); did you mean 'dev_attr_timeout_min'?
     318 |  &dev_attr_latency_min.attr,
         |   ^~~~~~~~~~~~~~~~~~~~
         |   dev_attr_timeout_min
>> drivers/staging/greybus/loopback.c:319:3: error: 'dev_attr_latency_max' undeclared here (not in a function); did you mean 'dev_attr_timeout_max'?
     319 |  &dev_attr_latency_max.attr,
         |   ^~~~~~~~~~~~~~~~~~~~
         |   dev_attr_timeout_max
>> drivers/staging/greybus/loopback.c:320:3: error: 'dev_attr_latency_avg' undeclared here (not in a function)
     320 |  &dev_attr_latency_avg.attr,
         |   ^~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:321:3: error: 'dev_attr_requests_per_second_min' undeclared here (not in a function)
     321 |  &dev_attr_requests_per_second_min.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:322:3: error: 'dev_attr_requests_per_second_max' undeclared here (not in a function)
     322 |  &dev_attr_requests_per_second_max.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:323:3: error: 'dev_attr_requests_per_second_avg' undeclared here (not in a function)
     323 |  &dev_attr_requests_per_second_avg.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:324:3: error: 'dev_attr_throughput_min' undeclared here (not in a function); did you mean 'dev_attr_timeout_min'?
     324 |  &dev_attr_throughput_min.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~
         |   dev_attr_timeout_min
>> drivers/staging/greybus/loopback.c:325:3: error: 'dev_attr_throughput_max' undeclared here (not in a function); did you mean 'dev_attr_timeout_max'?
     325 |  &dev_attr_throughput_max.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~
         |   dev_attr_timeout_max
>> drivers/staging/greybus/loopback.c:326:3: error: 'dev_attr_throughput_avg' undeclared here (not in a function)
     326 |  &dev_attr_throughput_avg.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/greybus/loopback.c:327:3: error: 'dev_attr_apbridge_unipro_latency_min' undeclared here (not in a function)
     327 |  &dev_attr_apbridge_unipro_latency_min.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/loopback.c:328:3: error: 'dev_attr_apbridge_unipro_latency_max' undeclared here (not in a function)
     328 |  &dev_attr_apbridge_unipro_latency_max.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/loopback.c:329:3: error: 'dev_attr_apbridge_unipro_latency_avg' undeclared here (not in a function)
     329 |  &dev_attr_apbridge_unipro_latency_avg.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/loopback.c:330:3: error: 'dev_attr_gbphy_firmware_latency_min' undeclared here (not in a function)
     330 |  &dev_attr_gbphy_firmware_latency_min.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/loopback.c:331:3: error: 'dev_attr_gbphy_firmware_latency_max' undeclared here (not in a function)
     331 |  &dev_attr_gbphy_firmware_latency_max.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/loopback.c:332:3: error: 'dev_attr_gbphy_firmware_latency_avg' undeclared here (not in a function)
     332 |  &dev_attr_gbphy_firmware_latency_avg.attr,
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +165 drivers/staging/greybus/loopback.c

   164	
 > 165	#define gb_loopback_stats_attrs(field) do { \
   166		gb_loopback_ro_stats_attr(field, min, u);		\
   167		gb_loopback_ro_stats_attr(field, max, u);		\
   168		gb_loopback_ro_avg_attr(field);				\
 > 169		} while (0)
   170	
   171	#define gb_loopback_attr(field, type)					\
   172	static ssize_t field##_show(struct device *dev,				\
   173				    struct device_attribute *attr,		\
   174				    char *buf)					\
   175	{									\
   176		struct gb_loopback *gb = dev_get_drvdata(dev);			\
   177		return sprintf(buf, "%" #type "\n", gb->field);			\
   178	}									\
   179	static ssize_t field##_store(struct device *dev,			\
   180				    struct device_attribute *attr,		\
   181				    const char *buf,				\
   182				    size_t len)					\
   183	{									\
   184		int ret;							\
   185		struct gb_loopback *gb = dev_get_drvdata(dev);			\
   186		mutex_lock(&gb->mutex);						\
   187		ret = sscanf(buf, "%"#type, &gb->field);			\
   188		if (ret != 1)							\
   189			len = -EINVAL;						\
   190		else								\
   191			gb_loopback_check_attr(gb, bundle);			\
   192		mutex_unlock(&gb->mutex);					\
   193		return len;							\
   194	}									\
   195	static DEVICE_ATTR_RW(field)
   196	
   197	#define gb_dev_loopback_ro_attr(field, conn)				\
   198	static ssize_t field##_show(struct device *dev,		\
   199				    struct device_attribute *attr,		\
   200				    char *buf)					\
   201	{									\
   202		struct gb_loopback *gb = dev_get_drvdata(dev);			\
   203		return sprintf(buf, "%u\n", gb->field);				\
   204	}									\
   205	static DEVICE_ATTR_RO(field)
   206	
   207	#define gb_dev_loopback_rw_attr(field, type)				\
   208	static ssize_t field##_show(struct device *dev,				\
   209				    struct device_attribute *attr,		\
   210				    char *buf)					\
   211	{									\
   212		struct gb_loopback *gb = dev_get_drvdata(dev);			\
   213		return sprintf(buf, "%" #type "\n", gb->field);			\
   214	}									\
   215	static ssize_t field##_store(struct device *dev,			\
   216				    struct device_attribute *attr,		\
   217				    const char *buf,				\
   218				    size_t len)					\
   219	{									\
   220		int ret;							\
   221		struct gb_loopback *gb = dev_get_drvdata(dev);			\
   222		mutex_lock(&gb->mutex);						\
   223		ret = sscanf(buf, "%"#type, &gb->field);			\
   224		if (ret != 1)							\
   225			len = -EINVAL;						\
   226		else								\
   227			gb_loopback_check_attr(gb);		\
   228		mutex_unlock(&gb->mutex);					\
   229		return len;							\
   230	}									\
   231	static DEVICE_ATTR_RW(field)
   232	
   233	static void gb_loopback_reset_stats(struct gb_loopback *gb);
   234	static void gb_loopback_check_attr(struct gb_loopback *gb)
   235	{
   236		if (gb->us_wait > GB_LOOPBACK_US_WAIT_MAX)
   237			gb->us_wait = GB_LOOPBACK_US_WAIT_MAX;
   238		if (gb->size > gb_dev.size_max)
   239			gb->size = gb_dev.size_max;
   240		gb->requests_timedout = 0;
   241		gb->requests_completed = 0;
   242		gb->iteration_count = 0;
   243		gb->send_count = 0;
   244		gb->error = 0;
   245	
   246		if (kfifo_depth < gb->iteration_max) {
   247			dev_warn(gb->dev,
   248				 "cannot log bytes %u kfifo_depth %u\n",
   249				 gb->iteration_max, kfifo_depth);
   250		}
   251		kfifo_reset_out(&gb->kfifo_lat);
   252	
   253		switch (gb->type) {
   254		case GB_LOOPBACK_TYPE_PING:
   255		case GB_LOOPBACK_TYPE_TRANSFER:
   256		case GB_LOOPBACK_TYPE_SINK:
   257			gb->jiffy_timeout = usecs_to_jiffies(gb->timeout);
   258			if (!gb->jiffy_timeout)
   259				gb->jiffy_timeout = GB_LOOPBACK_TIMEOUT_MIN;
   260			else if (gb->jiffy_timeout > GB_LOOPBACK_TIMEOUT_MAX)
   261				gb->jiffy_timeout = GB_LOOPBACK_TIMEOUT_MAX;
   262			gb_loopback_reset_stats(gb);
   263			wake_up(&gb->wq);
   264			break;
   265		default:
   266			gb->type = 0;
   267			break;
   268		}
   269	}
   270	
   271	/* Time to send and receive one message */
   272	gb_loopback_stats_attrs(latency);
   273	/* Number of requests sent per second on this cport */
   274	gb_loopback_stats_attrs(requests_per_second);
   275	/* Quantity of data sent and received on this cport */
   276	gb_loopback_stats_attrs(throughput);
   277	/* Latency across the UniPro link from APBridge's perspective */
   278	gb_loopback_stats_attrs(apbridge_unipro_latency);
   279	/* Firmware induced overhead in the GPBridge */
   280	gb_loopback_stats_attrs(gbphy_firmware_latency);
   281	
   282	/* Number of errors encountered during loop */
   283	gb_loopback_ro_attr(error);
   284	/* Number of requests successfully completed async */
   285	gb_loopback_ro_attr(requests_completed);
   286	/* Number of requests timed out async */
   287	gb_loopback_ro_attr(requests_timedout);
   288	/* Timeout minimum in useconds */
   289	gb_loopback_ro_attr(timeout_min);
   290	/* Timeout minimum in useconds */
   291	gb_loopback_ro_attr(timeout_max);
   292	
   293	/*
   294	 * Type of loopback message to send based on protocol type definitions
   295	 * 0 => Don't send message
   296	 * 2 => Send ping message continuously (message without payload)
   297	 * 3 => Send transfer message continuously (message with payload,
   298	 *					   payload returned in response)
   299	 * 4 => Send a sink message (message with payload, no payload in response)
   300	 */
   301	gb_dev_loopback_rw_attr(type, d);
   302	/* Size of transfer message payload: 0-4096 bytes */
   303	gb_dev_loopback_rw_attr(size, u);
   304	/* Time to wait between two messages: 0-1000 ms */
   305	gb_dev_loopback_rw_attr(us_wait, d);
   306	/* Maximum iterations for a given operation: 1-(2^32-1), 0 implies infinite */
   307	gb_dev_loopback_rw_attr(iteration_max, u);
   308	/* The current index of the for (i = 0; i < iteration_max; i++) loop */
   309	gb_dev_loopback_ro_attr(iteration_count, false);
   310	/* A flag to indicate synchronous or asynchronous operations */
   311	gb_dev_loopback_rw_attr(async, u);
   312	/* Timeout of an individual asynchronous request */
   313	gb_dev_loopback_rw_attr(timeout, u);
   314	/* Maximum number of in-flight operations before back-off */
   315	gb_dev_loopback_rw_attr(outstanding_operations_max, u);
   316	
   317	static struct attribute *loopback_attrs[] = {
 > 318		&dev_attr_latency_min.attr,
 > 319		&dev_attr_latency_max.attr,
 > 320		&dev_attr_latency_avg.attr,
 > 321		&dev_attr_requests_per_second_min.attr,
 > 322		&dev_attr_requests_per_second_max.attr,
 > 323		&dev_attr_requests_per_second_avg.attr,
 > 324		&dev_attr_throughput_min.attr,
 > 325		&dev_attr_throughput_max.attr,
 > 326		&dev_attr_throughput_avg.attr,
 > 327		&dev_attr_apbridge_unipro_latency_min.attr,
 > 328		&dev_attr_apbridge_unipro_latency_max.attr,
 > 329		&dev_attr_apbridge_unipro_latency_avg.attr,
 > 330		&dev_attr_gbphy_firmware_latency_min.attr,
 > 331		&dev_attr_gbphy_firmware_latency_max.attr,
 > 332		&dev_attr_gbphy_firmware_latency_avg.attr,
   333		&dev_attr_type.attr,
   334		&dev_attr_size.attr,
   335		&dev_attr_us_wait.attr,
   336		&dev_attr_iteration_count.attr,
   337		&dev_attr_iteration_max.attr,
   338		&dev_attr_async.attr,
   339		&dev_attr_error.attr,
   340		&dev_attr_requests_completed.attr,
   341		&dev_attr_requests_timedout.attr,
   342		&dev_attr_timeout.attr,
   343		&dev_attr_outstanding_operations_max.attr,
   344		&dev_attr_timeout_min.attr,
   345		&dev_attr_timeout_max.attr,
   346		NULL,
   347	};
   348	ATTRIBUTE_GROUPS(loopback);
   349	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37204 bytes --]

[-- Attachment #3: Type: text/plain, Size: 169 bytes --]

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

* Re: [greybus-dev] [PATCH 1/1] staging: greybus: Added do - while in multi statement macro
  2021-02-11 10:10   ` [greybus-dev] " Viresh Kumar
@ 2021-02-15 10:52     ` Dan Carpenter
  0 siblings, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2021-02-15 10:52 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: devel, elder, Greg KH, linux-kernel, johan, greybus-dev,
	Hemansh Agnihotri

On Thu, Feb 11, 2021 at 03:40:39PM +0530, Viresh Kumar wrote:
> On 11-02-21, 11:00, Greg KH wrote:
> > On Thu, Feb 11, 2021 at 03:24:44PM +0530, Hemansh Agnihotri wrote:
> > > This patch add fixes an checkpatch error for "Macros with multiple statements
> > > should be enclosed in a do - while loop"
> > > 
> > > Signed-off-by: Hemansh Agnihotri <hemanshagnihotri27@gmail.com>
> > 
> > Any reason you didn't test-build your patch before sending it out?
> > 
> > That's a bit rude to reviewers :(
> 
> I also wonder how two people stumbled upon the exact same thing at the
> same time. Copy/paste ?
> 

Those things are pretty common where people try to fix the first
checkpatch warning they find.  There was one time some years back when 5
people sent the same patch.

regards,
dan carpenter

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

end of thread, other threads:[~2021-02-15 10:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-11  9:54 [PATCH 1/1] staging: greybus: Added do - while in multi statement macro Hemansh Agnihotri
2021-02-11 10:00 ` Greg KH
2021-02-11 10:10   ` [greybus-dev] " Viresh Kumar
2021-02-15 10:52     ` Dan Carpenter
2021-02-11 13:07 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).