Re: [PATCH] staging: dgnc: Patch includes the checkpatch fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 11, 2015 at 05:10:43AM -0500, Sanidhya Solanki wrote:
> On Fri, 11 Dec 2015 16:02:33 +0300
> Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> 
> > > Signed-off-by: Sanidhya Solanki <jpage.lkml@xxxxxxxxx>
> > > @@ -110,7 +98,16 @@ static ssize_t dgnc_vpd_show(struct device *p, struct device_attribute *attr,
> > >  	int count = 0;
> > >  	int i = 0;
> > >  
> > > -	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);
> > 
> > Google about why do while(0) loops are used in macros and then redo
> > this.  Mostly the patch isn't bad, but I suspect I'm going to complain
> > about how you split up some of the long lines.
> 
> Let me just be completely sure that you and I are on the same page
> here. The macro was used to replace the do-while loop, I replaced all
> instances of the macro with the the actual loop. Both pieces were
> originally part of the code, just using macros in place of do-while
> statements. Do you still want me to change it? Maybe the original
> author did it for a specific reason.
> 

https://www.quora.com/What-is-the-purpose-of-using-do-while-0-in-macros

Do while(0) is used to make a macro look like a function.  Since we have
deleted the macro we don't need the do while.

regards,
dan carpenter

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



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux