[PATCH RFC] comedi: rtd520: if condition with no effect - if identical to else

Nicholas Mc Guire der.herr at hofr.at
Sun Jan 18 11:53:24 UTC 2015


The if and the else branch code are identical - so the condition has no
effect on the effective code - this patch removes the condition and the
duplicated code.

Signed-off-by: Nicholas Mc Guire <der.herr at hofr.at>
---

Patch is against 3.19.0-rc4 -next-20150116

This patch was only compile tested with x86_64_defconfig + CONFIG_STAGING=y
CONFIG_COMEDI=m, CONFIG_COMEDI_PCI_DRIVERS=m, CONFIG_COMEDI_RTD520=m

commit c5930d66 (staging: comedi: rtd520: use the comedi_device 'mmio'
member) introduced the current code, the probably bug was though
present before this commit:

        if (devpriv->xfer_count > 0)    /* transfer every N samples */
                writew(IRQM_ADC_ABOUT_CNT, dev->mmio + LAS0_IT);
        else                            /* 1/2 FIFO transfers */
                writew(IRQM_ADC_ABOUT_CNT, dev->mmio + LAS0_IT);

as the if and else branch are identical but the comments indicate that 
they are serving different purposes this looks like a bug. The code has
though been in use in this form for more than 2 years - so maybe the
condition is simply unnecessary. In any case this needs a review
by someone who knows the details of the driver - the below patch
is only cleaning up the current situation and may thus be wrong.

...and how did this pass multiple modifications and reviews ?...

 drivers/staging/comedi/drivers/rtd520.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/rtd520.c b/drivers/staging/comedi/drivers/rtd520.c
index 06ae436..3ccdade 100644
--- a/drivers/staging/comedi/drivers/rtd520.c
+++ b/drivers/staging/comedi/drivers/rtd520.c
@@ -1012,10 +1012,8 @@ static int rtd_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 	readw(dev->mmio + LAS0_CLEAR);
 
 	/* TODO: allow multiple interrupt sources */
-	if (devpriv->xfer_count > 0)	/* transfer every N samples */
-		writew(IRQM_ADC_ABOUT_CNT, dev->mmio + LAS0_IT);
-	else				/* 1/2 FIFO transfers */
-		writew(IRQM_ADC_ABOUT_CNT, dev->mmio + LAS0_IT);
+	/* transfer every N samples */
+	writew(IRQM_ADC_ABOUT_CNT, dev->mmio + LAS0_IT);
 
 	/* BUG: start_src is ASSUMED to be TRIG_NOW */
 	/* BUG? it seems like things are running before the "start" */
-- 
1.7.10.4



More information about the devel mailing list