staging:iio:adc:ad7192: add temp_scale attribute, change module description
Use KBUILD_MODNAME
Fix indention style
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/staging/iio/adc/ad7291.c b/drivers/staging/iio/adc/ad7291.c
index e08619b..4697ebb 100644
--- a/drivers/staging/iio/adc/ad7291.c
+++ b/drivers/staging/iio/adc/ad7291.c
@@ -102,7 +102,7 @@
u16 int_vref_mv;
u16 command;
u16 c_mask; /* Active voltage channels for events */
- struct mutex state_lock;
+ struct mutex state_lock;
};
static int ad7291_i2c_read(struct ad7291_chip_info *chip, u8 reg, u16 *data)
@@ -510,6 +510,13 @@
*val = scale_uv / 1000;
*val2 = (scale_uv % 1000) * 1000;
return IIO_VAL_INT_PLUS_MICRO;
+ case (1 << IIO_CHAN_INFO_SCALE_SEPARATE):
+ /*
+ * One LSB of the ADC corresponds to 0.25 deg C.
+ * The temperature reading is in 12-bit twos complement format
+ */
+ *val = 250;
+ return IIO_VAL_INT;
default:
return -EINVAL;
}
@@ -536,7 +543,8 @@
AD7291_VOLTAGE_CHAN(7),
{
.type = IIO_TEMP,
- .info_mask = (1 << IIO_CHAN_INFO_AVERAGE_RAW_SEPARATE),
+ .info_mask = (1 << IIO_CHAN_INFO_AVERAGE_RAW_SEPARATE) |
+ (1 << IIO_CHAN_INFO_SCALE_SEPARATE),
.indexed = 1,
.channel = 0,
.event_mask =
@@ -680,7 +688,7 @@
static struct i2c_driver ad7291_driver = {
.driver = {
- .name = "ad7291",
+ .name = KBUILD_MODNAME,
},
.probe = ad7291_probe,
.remove = __devexit_p(ad7291_remove),
@@ -698,8 +706,7 @@
}
MODULE_AUTHOR("Sonic Zhang <sonic.zhang@analog.com>");
-MODULE_DESCRIPTION("Analog Devices AD7291 digital"
- " temperature sensor driver");
+MODULE_DESCRIPTION("Analog Devices AD7291 ADC driver");
MODULE_LICENSE("GPL v2");
module_init(ad7291_init);