On Sun, 2016-12-18 at 15:43 +0530, devendra sharma wrote:
> Fixed check patch warnings about multiple line dereferencing
[].
> diff --git a/drivers/staging/comedi/drivers/cb_pcidas64.c 
> b/drivers/staging/comedi/drivers/cb_pcidas64.c
[]
> @@ -2476,18 +2475,15 @@ static int setup_channel_queue(struct comedi_device 
> *dev,
>                       for (i = 0; i < cmd->chanlist_len; i++) {
>                               bits = 0;
>                               /* set channel */
> -                             bits |= adc_chan_bits(CR_CHAN(cmd->
> -                                                           chanlist[i]));
> +                             bits |= adc_chan_bits(
> +                             CR_CHAN(cmd->chanlist[i]));
>                               /* set gain */
>                               bits |= ai_range_bits_6xxx(dev,
> -                                                        CR_RANGE(cmd->
> -                                                                 chanlist
> -                                                                 [i]));
> +                                CR_RANGE(cmd->chanlist[i]));
>                               /* set single-ended / differential */
>                               bits |= se_diff_bit_6xxx(dev,
> -                                                      CR_AREF(cmd->
> -                                                              chanlist[i]) ==
> -                                                      AREF_DIFF);
> +                                      CR_AREF(cmd->chanlist[i]) ==
> +                                      AREF_DIFF);
>                               if (CR_AREF(cmd->chanlist[i]) == AREF_COMMON)
>                                       bits |= ADC_COMMON_BIT;
>                               /* mark end of queue */

This would be better handled by using a temporary like:

                        for (i = 0; i < cmd->chanlist_len; i++) {
                                <type> list = cmd->chanlist[i];

                                /* set channel */
                                bits |= adc_chan_bits(CR_CHAN(list));
                                /* set gain */
                                bits |= ai_range_bmts_6xxx(dev, CR_RANGE(list));
                                /* set single-ended / differential */
                                bits |= se_diff_bit_6xxx(dev,
                                                         CR_AREF(list) == 
AREF_DIFF);
                                if (CR_AREF(list) == AREF_COMMON)
                                        bits |= ADC_COMMON_BIT;

Or moving the indented block into a separate function.
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to