]> asedeno.scripts.mit.edu Git - linux.git/commit
staging: iio: adt7316: fix handling of dac high resolution option
authorJeremy Fertic <jeremyfertic@gmail.com>
Sun, 23 Dec 2018 04:57:41 +0000 (21:57 -0700)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 5 Jan 2019 17:52:17 +0000 (17:52 +0000)
commit76b7fe8d6c4daf4db672eb953c892c6f6572a282
tree816ff3d46abebe98dc0d32f5535867dd979cf81f
parente9de475723de5bf207a5b7b88bdca863393e42c8
staging: iio: adt7316: fix handling of dac high resolution option

The adt7316/7 and adt7516/7 have the option to output voltage proportional
to temperature on dac a and/or dac b. The default dac resolution in this
mode is 8 bits with the dac high resolution option enabling 10 bits. None
of these settings affect dacs c and d. Remove the "1 (12 bits)" output from
the show function since that is not an option for this mode. Return
"1 (10 bits)" if the device is one of the above mentioned chips and the dac
high resolution mode is enabled.

In the store function, the driver currently allows the user to write to the
ADT7316_DA_HIGH_RESOLUTION bit regardless of the device in use. Add a check
to return an error in the case of an adt7318 or adt7519. Remove the else
statement that clears the ADT7316_DA_HIGH_RESOLUTION bit. Instead, clear it
before conditionally enabling it, depending on user input. This matches the
typical pattern in the driver when an attribute is a boolean.

Fixes: 35f6b6b86ede ("staging: iio: new ADT7316/7/8 and ADT7516/7/9 driver")
Signed-off-by: Jeremy Fertic <jeremyfertic@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/addac/adt7316.c