Re: [PATCH 3/4] staging:iio:ad5933: Report temperature as raw value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/24/2014 10:02 AM, Daniel Baluta wrote:
@@ -543,14 +543,13 @@ static int ad5933_read_raw(struct iio_dev *indio_dev,
                 if (ret < 0)
                         goto out;
                 mutex_unlock(&indio_dev->mlock);
-               ret = be16_to_cpu(dat);
-               /* Temp in Milli degrees Celsius */
-               if (ret < 8192)
-                       *val = ret * 1000 / 32;
-               else
-                       *val = (ret - 16384) * 1000 / 32;
+               *val = sign_extend32(be16_to_cpu(dat), 13);

                 return IIO_VAL_INT;
+       case IIO_CHAN_INFO_SCALE:
+               *val = 1000;
+               *val2 = 5;
+               return IIO_VAL_FRACTIONAL_LOG2;
         }

  out:

Is it possible to reach this line with mutex not acquired?

out:
       mutex_unlock(&indio_dev->mlock);
       return ret;


It is not possible, but you are right the code should be restructured to make this more clear.

Thanks.
- Lars

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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux