summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/adc128d818.c
Commit message (Collapse)AuthorAgeFilesLines
* hwmon: (adc128d818) constify attribute_group structures.Arvind Yadav2017-08-131-1/+1
| | | | | | | | | | | | | | | | | attribute_groups are not supposed to change at runtime. All functions working with attribute_groups provided by <linux/sysfs.h> work with const attribute_group. So mark the non-const structs as const. File size before: text data bss dec hex filename 2304 2936 0 5240 1478 drivers/hwmon/adc128d818.o File size After adding 'const': text data bss dec hex filename 2344 2872 0 5216 1460 drivers/hwmon/adc128d818.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Add OF device ID tableJavier Martinez Canillas2017-04-021-0/+7
| | | | | | | | | | | | | The driver doesn't have a struct of_device_id table but supported devices are registered via Device Trees. This is working on the assumption that a I2C device registered via OF will always match a legacy I2C device ID and that the MODALIAS reported will always be of the form i2c:<device>. But this could change in the future so the correct approach is to have an OF device ID table if the devices are registered via OF. Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Preserve operation modeAlexander Koch2017-01-101-2/+5
| | | | | | | | | Preserve chip operation mode if no mode is specified via devicetree. This enables operation when chip configuration is done by BIOS/ROMMON. Signed-off-by: Alexander Koch <mail@alexanderkoch.net> Acked-by: Michael Hornung <mhornung.linux@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Support operation modes 1-3Alexander Koch2017-01-101-40/+86
| | | | | | | | | | | Add support for operation modes 1-3 of the ADC128D818 (see datasheet sec. 8.4.1). These differ in the number and type of the available input signals, requiring the driver to selectively hide sysfs nodes according to the operation mode configured via devicetree. Signed-off-by: Alexander Koch <mail@alexanderkoch.net> Acked-by: Michael Hornung <mhornung.linux@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Implement mode selection via dtAlexander Koch2017-01-101-0/+24
| | | | | | | | | | | | | | | | Implement operation mode selection using the optional 'ti,mode' devicetree property (see [1]). The ADC128D818 supports four operation modes differing in the number and type of input readings (see datasheet, sec. 8.4.1), of which mode 0 is the default. We only add handling of the 'ti,mode' property here, the driver still supports nothing else than the default mode 0. [1] Documentation/devicetree/bindings/hwmon/adc128d818.txt Signed-off-by: Alexander Koch <mail@alexanderkoch.net> Acked-by: Michael Hornung <mhornung.linux@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Do proper sign extensionRasmus Villemoes2015-01-251-1/+2
| | | | | | | | | | data->temp[index] has type s16. Because of C's promotion rules, (data->temp[index] << 7) >> 7 is exactly the same as data->temp[index]. The intention was to use bit 8 as a sign bit, so do that using the existing API. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (adc128d818) Drop write support on inX_input attributesGuenter Roeck2014-07-071-14/+14
| | | | | | | | | | Writes into input registers doesn't make sense, even more so since the writes actually ended up writing into the maximum limit registers. Drop it. Cc: stable@vger.kernel.org Reviewed-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: Driver for TI ADC128D818Guenter Roeck2014-03-031-0/+491
ADC128D818 is a System Monitor with Temperature Sensor. It is similar to LM80 and LM96080, but has 16 bit wide sensor registers and no fan speed monitoring. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
OpenPOWER on IntegriCloud