Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1501448 > unrolled thread

[PATCH] Staging: dgnc: Clean up Macros

Started bySiddhi Dave <d.sandy5990@gmail.com>
First post2016-10-16 14:50 +0200
Last post2016-10-16 17:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Staging: dgnc: Clean up Macros Siddhi Dave <d.sandy5990@gmail.com> - 2016-10-16 14:50 +0200
    Re: [Outreachy kernel] [PATCH] Staging: dgnc: Clean up Macros Julia Lawall <julia.lawall@lip6.fr> - 2016-10-16 15:40 +0200
    Re: [PATCH] Staging: dgnc: Clean up Macros Greg KH <gregkh@linuxfoundation.org> - 2016-10-16 17:40 +0200

#1501448 — [PATCH] Staging: dgnc: Clean up Macros

FromSiddhi Dave <d.sandy5990@gmail.com>
Date2016-10-16 14:50 +0200
Subject[PATCH] Staging: dgnc: Clean up Macros
Message-ID<ssT33-5UW-3@gated-at.bofh.it>
Fix checkpatch warning: Macros with flow control statements should be avoided

Because Macros with flow control statements (goto and return) are
not very nice to read as any flow movement is unexpected.

Signed-off-by: Siddhi Dave <d.sandy5990@gmail.com>
---
 drivers/staging/dgnc/dgnc_sysfs.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/dgnc/dgnc_sysfs.c b/drivers/staging/dgnc/dgnc_sysfs.c
index 290bf6e..0767740 100644
--- a/drivers/staging/dgnc/dgnc_sysfs.c
+++ b/drivers/staging/dgnc/dgnc_sysfs.c
@@ -90,16 +90,16 @@ void dgnc_remove_driver_sysfiles(struct pci_driver *dgnc_driver)
 	driver_remove_file(driverfs, &driver_attr_pollrate);
 }
 
-#define DGNC_VERIFY_BOARD(p, bd)				\
-	do {							\
-		if (!p)						\
-			return 0;				\
-								\
-		bd = dev_get_drvdata(p);			\
-		if (!bd || bd->magic != DGNC_BOARD_MAGIC)	\
-			return 0;				\
-		if (bd->state != BOARD_READY)			\
-			return 0;				\
+#define DGNC_VERIFY_BOARD(p, bd)
+do {
+	if (!p)
+		return 0;
+
+		bd = dev_get_drvdata(p);
+		if (!bd || bd->magic != DGNC_BOARD_MAGIC)
+			return 0;
+		if (bd->state != BOARD_READY)
+			return 0;
 	} while (0)
 
 static ssize_t vpd_show(struct device *p, struct device_attribute *attr,
-- 
2.7.4

[toc] | [next] | [standalone]


#1501450 — Re: [Outreachy kernel] [PATCH] Staging: dgnc: Clean up Macros

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-10-16 15:40 +0200
SubjectRe: [Outreachy kernel] [PATCH] Staging: dgnc: Clean up Macros
Message-ID<ssTPr-6qC-17@gated-at.bofh.it>
In reply to#1501448

On Sun, 16 Oct 2016, Siddhi Dave wrote:

> Fix checkpatch warning: Macros with flow control statements should be avoided
>
> Because Macros with flow control statements (goto and return) are
> not very nice to read as any flow movement is unexpected.
>
> Signed-off-by: Siddhi Dave <d.sandy5990@gmail.com>
> ---
>  drivers/staging/dgnc/dgnc_sysfs.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/staging/dgnc/dgnc_sysfs.c b/drivers/staging/dgnc/dgnc_sysfs.c
> index 290bf6e..0767740 100644
> --- a/drivers/staging/dgnc/dgnc_sysfs.c
> +++ b/drivers/staging/dgnc/dgnc_sysfs.c
> @@ -90,16 +90,16 @@ void dgnc_remove_driver_sysfiles(struct pci_driver *dgnc_driver)
>  	driver_remove_file(driverfs, &driver_attr_pollrate);
>  }
>
> -#define DGNC_VERIFY_BOARD(p, bd)				\
> -	do {							\
> -		if (!p)						\
> -			return 0;				\
> -								\
> -		bd = dev_get_drvdata(p);			\
> -		if (!bd || bd->magic != DGNC_BOARD_MAGIC)	\
> -			return 0;				\
> -		if (bd->state != BOARD_READY)			\
> -			return 0;				\
> +#define DGNC_VERIFY_BOARD(p, bd)
> +do {
> +	if (!p)
> +		return 0;
> +
> +		bd = dev_get_drvdata(p);
> +		if (!bd || bd->magic != DGNC_BOARD_MAGIC)
> +			return 0;
> +		if (bd->state != BOARD_READY)
> +			return 0;
>  	} while (0)

This does not look correct.  You are still sort of defining a macro,
except that you have dropped all of the \s.  A macro has to be defined on
a single line, or a line continued with \, so this would cause major
syntax errors.  I think that someone else worked on similar code and found
that some of the tests were also not needed in the context in which this
code is used.

julia

>
>  static ssize_t vpd_show(struct device *p, struct device_attribute *attr,
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To post to this group, send email to outreachy-kernel@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20161016124231.GA18162%40siddhi-home-laptop.
> For more options, visit https://groups.google.com/d/optout.
>

[toc] | [prev] | [next] | [standalone]


#1501488

FromGreg KH <gregkh@linuxfoundation.org>
Date2016-10-16 17:40 +0200
Message-ID<ssVHA-7AY-13@gated-at.bofh.it>
In reply to#1501448
On Sun, Oct 16, 2016 at 06:12:32PM +0530, Siddhi Dave wrote:
> Fix checkpatch warning: Macros with flow control statements should be avoided
> 
> Because Macros with flow control statements (goto and return) are
> not very nice to read as any flow movement is unexpected.
> 
> Signed-off-by: Siddhi Dave <d.sandy5990@gmail.com>
> ---
>  drivers/staging/dgnc/dgnc_sysfs.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_sysfs.c b/drivers/staging/dgnc/dgnc_sysfs.c
> index 290bf6e..0767740 100644
> --- a/drivers/staging/dgnc/dgnc_sysfs.c
> +++ b/drivers/staging/dgnc/dgnc_sysfs.c
> @@ -90,16 +90,16 @@ void dgnc_remove_driver_sysfiles(struct pci_driver *dgnc_driver)
>  	driver_remove_file(driverfs, &driver_attr_pollrate);
>  }
>  
> -#define DGNC_VERIFY_BOARD(p, bd)				\
> -	do {							\
> -		if (!p)						\
> -			return 0;				\
> -								\
> -		bd = dev_get_drvdata(p);			\
> -		if (!bd || bd->magic != DGNC_BOARD_MAGIC)	\
> -			return 0;				\
> -		if (bd->state != BOARD_READY)			\
> -			return 0;				\
> +#define DGNC_VERIFY_BOARD(p, bd)
> +do {
> +	if (!p)
> +		return 0;
> +
> +		bd = dev_get_drvdata(p);
> +		if (!bd || bd->magic != DGNC_BOARD_MAGIC)
> +			return 0;
> +		if (bd->state != BOARD_READY)
> +			return 0;
>  	} while (0)
>  
>  static ssize_t vpd_show(struct device *p, struct device_attribute *attr,

You didn't test-build this code, why not?

Also, please see the archives for why this type of change is not going
to be correct and I can't take it.

And finally, you sent 3 copies of this, why?

thanks,

greg k-h

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web