Re: [PATCH 28/33] staging: comedi: cb_das16_cs: cleanup das16cs_ai_rinsn()

From: Ian Abbott
Date: Tue Jun 26 2012 - 05:09:19 EST


On 2012-06-26 01:17, H Hartley Sweeten wrote:
@@ -129,7 +124,22 @@ static int das16cs_ai_rinsn(struct comedi_device *dev,
outw(devpriv->status1, dev->iobase + 4);

devpriv->status2 &= ~0xff00;
- devpriv->status2 |= range_bits[range];
+ switch (range) {
+ case 0:
+ devpriv->status2 |= 0x800;
+ break;
+ case 1:
+ devpriv->status2 |= 0x000;
+ break;
+ case 2:
+ devpriv->status2 |= 0x100;
+ break;
+ case 3:
+ devpriv->status2 |= 0x200;
+ break;
+ default:
+ return -EINVAL;
+ }

Is that really an improvement? The 'range' variable value will be in range anyway (the comedi core checks beforehand in comedi_check_chanlist()), and looking up the constant to OR with devpriv->status2 is probably less object code (and certainly less source code).

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/