|
@@ -27,6 +27,7 @@
|
|
#include <linux/err.h>
|
|
#include <linux/err.h>
|
|
#include <linux/regulator/consumer.h>
|
|
#include <linux/regulator/consumer.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/mutex.h>
|
|
|
|
+#include <linux/bitops.h>
|
|
|
|
|
|
/* Addresses to scan
|
|
/* Addresses to scan
|
|
* The chip also supports addresses 0x35..0x37. Don't scan those addresses
|
|
* The chip also supports addresses 0x35..0x37. Don't scan those addresses
|
|
@@ -189,7 +190,7 @@ static ssize_t adc128_show_temp(struct device *dev,
|
|
if (IS_ERR(data))
|
|
if (IS_ERR(data))
|
|
return PTR_ERR(data);
|
|
return PTR_ERR(data);
|
|
|
|
|
|
- temp = (data->temp[index] << 7) >> 7; /* sign extend */
|
|
|
|
|
|
+ temp = sign_extend32(data->temp[index], 8);
|
|
return sprintf(buf, "%d\n", temp * 500);/* 0.5 degrees C resolution */
|
|
return sprintf(buf, "%d\n", temp * 500);/* 0.5 degrees C resolution */
|
|
}
|
|
}
|
|
|
|
|