summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2014-08-04hwmon: (tmp421) Strengthen detect functionGuenter Roeck1-0/+14
Not all supported chips support the entire I2C address range. Only accept specific chips at the addresses supported by that chip. Check for invalid values in conversion rate and status registers. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Jean Delvare <jdelvare@suse.de>
2014-08-04hwmon: (g760a) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-40/+13
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (g760a) Avoid forward declarationAxel Lin1-20/+15
Move g760a_driver to proper place to avoid forward declaration. Also move g760a_id table close to g760a_driver. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm9240) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-48/+26
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (lineage-pem) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-47/+19
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (smm665) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-28/+16
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm9240) Avoid forward declarationAxel Lin1-162/+153
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1031) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-63/+38
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1031) Avoid forward declarationAxel Lin1-148/+138
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1026) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-85/+55
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1026) Avoid forward declarationAxel Lin1-233/+219
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1025) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-48/+23
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1025) Avoid forward declarationAxel Lin1-120/+104
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1021) Avoid forward declarationAxel Lin1-92/+83
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (gl520sm) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-61/+35
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (gl520sm) Avoid forward declarationAxel Lin1-167/+150
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (gl518sm) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-51/+25
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (gl518sm) Avoid forward declarationAxel Lin1-137/+126
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (lm93) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-88/+66
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (w83791d) Fix smatch warningGuenter Roeck1-9/+6
smatch complains as follows when checking w83791d.c. drivers/hwmon/w83791d.c:996 store_temp23() warn: '32768' 32768 can't fit into 32767 'data->temp_add[nr][index]' Fix by using DIV_ROUND_CLOSEST and clamp_val to convert the values. While we are at it, modify other macros as well for consistency and to make the code easier to understand. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (lm63) Fix smatch warningsGuenter Roeck1-17/+10
smatch complains as follows when checking lm63.c. drivers/hwmon/lm63.c:594 set_temp11() warn: '65504' 65504 can't fit into 32767 'data->temp11[nr]' drivers/hwmon/lm63.c:596 set_temp11() warn: '32768' 32768 can't fit into 32767 'data->temp11[nr]' Fix by using DIV_ROUND_CLOSEST and clamp_val to convert the values. While we are at it, modify other macros as well for consistency and to make the code easier to understand. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: Make regmap configs constAxel Lin5-5/+5
Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (htu21) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-47/+22
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (emc6w201) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-45/+19
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (amc6821) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-45/+25
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (amc6821) Avoid forward declarationAxel Lin1-206/+154
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1029) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-40/+15
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (adm1029) Avoid forward declarationsAxel Lin1-93/+78
Reorder functions to avoid forward declarations. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (ad7418) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-41/+24
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (ad7418) Avoid forward declarationAxel Lin1-38/+34
Move ad7418_driver to proper place to avoid forward declaration. Also move ad7418_init_client() close to ad7418_probe(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (ad7414) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-41/+16
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (ntc_thermistor) Support B57330V2103 from EPCOSJohannes Pointner2-2/+50
This patch adds support for the ntc thermistor B57330V2103 from EPCOS. Signed-off-by: Johannes Pointner <johannes.pointner@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (hih6130) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-65/+23
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Tested-by: Iain Paton <ipaton0@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (tmp103) Add missing i2c_set_clientdata call in tmp103_probeAxel Lin1-0/+1
Add missing i2c_set_clientdata() call in tmp103_probe, this makes the dev_get_drvdata() call in tmp103_suspend/tmp103_resume return correct address. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (lm75) Add support for TMP112Frans Klaver2-2/+10
TMP112 is compatible to LM75. Signed-off-by: Frans Klaver <frans.klaver@xsens.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (w83l786ng) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-57/+29
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (w83l786ng) Avoid forward declarationAxel Lin1-109/+100
Reorder functions to avoid forward declaration. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (fam15h_power) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-42/+9
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (wm8350) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-43/+7
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (wm831x) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-61/+11
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (ads7828) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-38/+14
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (atxp1) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-55/+21
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups. This simplifies the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: Driver for TI TMP103 temperature sensorHeiko Schocher3-0/+217
Driver for the TI TMP103. The TI TMP103 is similar to the TMP102. It differs from the TMP102 by having only 8 bit registers. Signed-off-by: Heiko Schocher <hs@denx.de> [linux@roeck-us.net: Select REGMAP_I2C in Kconfig] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (gpio-fan) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-13/+4
This simplifies the code a bit and also ensures the attribute groups are properly removed from sysfs when unload the module. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (twl4030-madc-hwmon) Convert to devm_hwmon_device_register_with_groupsAxel Lin1-32/+6
Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: Add support for Lattice's POWR1220 power manager ICScott Kanowitz3-0/+404
This patch adds support for Lattice's POWR1220 power manager IC. Read access to all the ADCs on the chip are supported through the hwmon sysfs files. Signed-off-by: Scott Kanowitz <skanowitz@echo360.com> [Guenter Roeck: Removed some extra ( )] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-07-31hwmon: (lm77) Prevent overflow problem when writing large limitsAxel Lin1-5/+6
On platforms with sizeof(int) < sizeof(long), writing a temperature limit larger than MAXINT will result in unpredictable limit values written to the chip. Clamp the input values to the supported limits first to fix the problem. For set_temp_hyst: As Guenter pointed out that the temperature is read as unsigned and stored in an unsigned long. This is wrong; nothing in the datasheet suggests that the value (the absolute temperature) must be positive. So change it to signed. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-07-30hwmon: (amc6821) Fix possible race condition bugAxel Lin1-6/+11
Ensure mutex lock protects the read-modify-write period to prevent possible race condition bug. In additional, update data->valid should also be protected by the mutex lock. Signed-off-by: Axel Lin <axel.lin@ingics.com> Cc: stable@vger.kernel.org Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-07-30hwmon: (lm78) Fix overflow problems seen when writing large temperature limitsGuenter Roeck1-1/+1
On platforms with sizeof(int) < sizeof(long), writing a temperature limit larger than MAXINT will result in unpredictable limit values written to the chip. Avoid auto-conversion from long to int to fix the problem. Cc: Axel Lin <axel.lin@ingics.com> Cc: stable@vger.kernel.org Reviewed-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-07-30hwmon: (lm85) Fix various errors on attribute writesGuenter Roeck1-3/+6
Temperature limit register writes did not account for negative numbers. As a result, writing -127000 resulted in -126000 written into the temperature limit register. This problem affected temp[1-3]_min, temp[1-3]_max, temp[1-3]_auto_temp_crit, and temp[1-3]_auto_temp_min. When writing pwm[1-3]_freq, a long variable was auto-converted into an int without range check. Wiring values larger than MAXINT resulted in unexpected register values. When writing temp[1-3]_auto_temp_max, an unsigned long variable was auto-converted into an int without range check. Writing values larger than MAXINT resulted in unexpected register values. vrm is an u8, so the written value needs to be limited to [0, 255]. Cc: Axel Lin <axel.lin@ingics.com> Cc: stable@vger.kernel.org Reviewed-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>