staging:iio:adc:ad7192: add temp_scale attribute, change module description
authorMichael Hennerich <michael.hennerich@analog.com>
Fri, 2 Sep 2011 16:25:45 +0000 (17:25 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 6 Sep 2011 23:03:37 +0000 (16:03 -0700)
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>
drivers/staging/iio/adc/ad7291.c

index e08619b3d366e40ad583fc880aca2eee8578c3d1..4697ebbfd08deeb24682bfeac2d5463124e4b9f7 100644 (file)
@@ -102,7 +102,7 @@ struct ad7291_chip_info {
        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 @@ static int ad7291_read_raw(struct iio_dev *indio_dev,
                *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 @@ static const struct iio_chan_spec ad7291_channels[] = {
        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 @@ MODULE_DEVICE_TABLE(i2c, ad7291_id);
 
 static struct i2c_driver ad7291_driver = {
        .driver = {
-               .name = "ad7291",
+               .name = KBUILD_MODNAME,
        },
        .probe = ad7291_probe,
        .remove = __devexit_p(ad7291_remove),
@@ -698,8 +706,7 @@ static __exit void ad7291_exit(void)
 }
 
 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);