On Mon, Feb 28, 2011 at 3:18 PM, Keerthy <[email protected]> wrote:
> +static int twl4030_madc_read_channels(struct twl4030_madc_data *madc,
> +                                     u8 reg_base, unsigned
> +                                               long channels, int *buf)
> +{
> +       int count = 0, count_req = 0, i;
> +       u8 reg;
> +
> +       for_each_set_bit(i, &channels, TWL4030_MADC_MAX_CHANNELS) {
> +               reg = reg_base + 2 * i;
> +               buf[i] = twl4030_madc_channel_raw_read(madc, reg);
> +               if (buf[i] < 0) {
> +                       dev_err(madc->dev,
> +                       "Unable to read register 0x%X\n", reg);
> +                       count_req++;
> +                       continue;
> +               }
> +               switch (i) {
> +               case 10:
> +                       buf[i] =
> +                               twl4030battery_current(buf[i]);

Possibly fix these breaks in statements where applicable.

> +                       if (buf[i] < 0) {
> +                               dev_err(madc->dev,
> +                               "error reading current");
> +                               count_req++;
> +                       } else {
> +                               count++;
> +                               buf[i] = buf[i] - 750;
> +                       }
> +                       break;
> +               case 1:
> +                       buf[i] =
> +                       twl4030battery_temperature(buf[i]);
> +                       if (buf[i] < 0) {
> +                               dev_err(madc->dev,
> +                               "error reading temperature");
> +                               count_req++;
> +                       } else {
> +                               count++;
> +                       }
> +                       break;
> +               default:
> +                       count++;
> +                       /* Analog Input (V) = conv_result *
> +                        *                      step_size / R
> +                        * conv_result = decimal value
> +                        *               of 10-bit conversion
> +                        *               result
> +                        * step size = 1.5 / (2 ^ 10 -1)
> +                        * R = Prescaler ratio for input
> +                        *      channels
> +                        * Result given in mV hence multiplied
> +                        *      by 1000
> +                        */
> +                       buf[i] = (buf[i] * 3 * 1000 *
> +                       twl4030_divider_ratios[i].denominator)
> +                               / (2 * 1023 *
> +               twl4030_divider_ratios[i].numerator);
> +               }
> +       }
> +       if (count_req)
> +               dev_dbg(madc->dev, "%d channel conversion failed\n", 
> count_req);
> +
> +       return count;
> +}
> +

Reply via email to