RE: [PATCH 28/33] staging: comedi: cb_das16_cs: cleanupdas16cs_ai_rinsn()

From: H Hartley Sweeten
Date: Tue Jun 26 2012 - 13:10:59 EST


On Tuesday, June 26, 2012 2:16 AM, Ian Abbott wrote:
> On 2012-06-26 10:09, Ian Abbott wrote:
>> 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).
>
> I meant looking up the constant in the static array of course. It
> doesn't really matter if you want to do it this way though, and the
> `static int range_bits[]` you removed should have been `static const int
> range_bits[]` anyway.

This, and your other comment about the PCMCIA support, have
been addressed.

Thanks for the review!

Regards,
Hartley

èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—