summaryrefslogtreecommitdiff
path: root/drivers/hwmon/nct6775.c
AgeCommit message (Collapse)Author
2014-08-04hwmon: (nct6775) Remove num_attr_groups from struct nct6775_dataAxel Lin
num_attr_groups is only used in nct6775_probe(), make it to be local variable. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-08-04hwmon: (nct6775) Update module description and Kconfig for NCT6106D and NCT6791DAxel Lin
This driver also supports NCT6106D and NCT6791D, thus update module description and Kconfig accordingly. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-05-24hwmon: (nct6775) Fix probe unwind paths to properly unregister platform devicesAxel Lin
Call platform_device_unregister() rather than platform_device_put() to unregister successfully registered platform devices. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-01-29Merge branch 'hwmon-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull hwmon updates from Jean Delvare: "This include it87 driver improvements, and a tree-wide change of my e-mail address" * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: Update Jean Delvare's e-mail address hwmon: (it87) Print proper names for the IT8771E and IT8772E hwmon: (it87) Add support for the ITE IT8603E
2014-01-29Update Jean Delvare's e-mail addressJean Delvare
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2014-01-14hwmon: (nct6775) Re-enable logical device mapping for NCT6791 during resumeGuenter Roeck
After a suspend/resume cycle, the NCT6791 is back to its original BIOS programming. In this state, HWMON IO access may be locked. Re-enable it during resume. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-11-18hwmon: (nct6775) NCT6791 supports weight control only for CPUFANGuenter Roeck
Unlike other chips supported by this driver, the NCT6791 only has a single set of registers to configure weighted fan control. Enable it only for the single channel supporting it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-11-18hwmon: (nct6775) Monitor additional temperature registersGuenter Roeck
The number of SMIOVT registers on NCT6779 and NCT6791 is limited to 2. As result, the driver may not report some of the temperatures used for fan control. This can result in some of the pwmX_temp_sel or pwm2_weight_temp_sel attributes to wrongly return 0. Fortunately, the chip has registers to monitor those temperatures. Add them to the list of temperatures to report. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-19hwmon: (nct6775) Remove an unused variableDan Carpenter
We don't actually use "j" for anything. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-18hwmon: (nct6775) fix coccinelle warningsFengguang Wu
drivers/hwmon/nct6775.c:3866:1-3: WARNING: PTR_RET can be used Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR Generated by: coccinelle/api/ptr_ret.cocci CC: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-13hwmon: (nct6775) Convert to use devm_hwmon_device_register_with_groupsGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-13hwmon: (nct6775) Convert to use hwmon_device_register_with_groupsGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-13hwmon: (nct6775) Check array index when accessing temp_offsetGuenter Roeck
smatch complains about a potential out-of-bounds access to the temp_offset array. That doesn't happen in practice, but it doesn't hurt to add an explicit check either. This prevents potential problems in the future (for example if the number of 'fixed' temperature sensors is increased to add support for another chip). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-10-13hwmon: (nct6775) Use return value from find_temp_sourceGuenter Roeck
smatch complains that we don't use the return value from find_temp_source(). Valid point, only find_temp_source() doesn't return a valid error code. Have it return a valid error code and use it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Add support for hibernateHarald Judt
Hibernation uses its own set of callback functions, even if the code is the same as the code used for suspend/restore. Signed-off-by: Harald Judt <h.judt@gmx.at> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: use dev_get_platdata()Jingoo Han
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Fix size of data->temp arrayDan Carpenter
Smatch complains that we have a array overflow: drivers/hwmon/nct6775.c:1456 nct6775_update_device() error: buffer overflow 'data->temp' 4 <= 4 Guenter Roeck says that the array should have been made larger in 7cbbd6aee6 (Add support for critical low/high temperature limits on NCT6106). This patch does that. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Avoid using device platform data outside probe functionGuenter Roeck
Plan going forward is to attach all device attributes to the hwmon device and no longer to the platform device. With that change, accessing platform data outside the probe function will be more difficult. To avoid the problem, change code to no longer rely on it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Add support for NCT6791DDavid Bartley
Signed-off-by: David Bartley <andareed@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Add support for beep attributesGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Add support for critical low/high temperature limits on NCT6106Guenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Add support for NCT6102D/6106DGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Support two SuperIO chips in the same systemGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-08-11hwmon: (nct6775) Allocate attributes dynamically from templatesGuenter Roeck
Static attribute allocation is large and very repetitive. Allocate attributes and attribute groups dynamically instead. This reduces the size of the driver source by more than 600 lines, and object size by more than 20k (more than 30%). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-06-27hwmon: (nct6775) Drop unsupported fan alarm attributes for NCT6775Guenter Roeck
NCT6775 does not support alarms for fans 4 and 5. Drop the attributes. cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-06-27hwmon: (nct6775) Fix temperature alarm attributesGuenter Roeck
Driver displays wrong alarms for temperature attributes. Turns out that temperature alarm bits are not fixed, but determined by temperature source mapping. To fix the problem, walk through the temperature sources to determine the correct alarm bit associated with a given attribute. Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-05-11hwmon: (nct6775) Do not create non-existing attributesGuenter Roeck
Overtemperature and hysteresis registers only exist for primary temperature registers, not for alternates, so do not assign those registers when initializing alternates. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-21hwmon: (nct6775) Fix coding style problemsGuenter Roeck
Add space around binary operators (CodingStyle, chapter 3.1). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-21hwmon: (nct6775) Constify stringsGuenter Roeck
nct6775_sio_names should be a constant pointer to an array of constant strings. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-13hwmon: (nct6775) Use ARRAY_SIZE for loops where possibleGuenter Roeck
This ensures that the loop iterations are correct even if/when the number of elements in an array changes. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776Guenter Roeck
Per datasheet, VIN3 and AUXTIN share the same external pin. However, there is no clean way to detect this condition. Furthermore, both are reported by the BIOS on Supermicro C7H61. It may thus be possible that chip revisions exist where both attributes are supported at the same time. Better play safe and report both. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Expand scope of supported chipsGuenter Roeck
NCT6775, NCT6776, and NCT6779 have a number of variants with the same chip ID but different chip labels. Add text "or compatible" to the message displayed when the driver is loaded and rephrase the Kconfig entry to reflect that it also supports compatible chips. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Drop read/write lockGuenter Roeck
The read/write lock is acquired for each read/write operation from/to the chip. This occurs either during initialization, when it is not needed, or during updates, when the update_lock is held as well, and it is not needed either. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Only report VID if supported and enabledGuenter Roeck
VID is not always enabled (NCT6775, NCT6776) or supported (NCT6779). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Detect and report additional temperature sourcesGuenter Roeck
Scan all temperature sources used for fan control and report if additional monitoring registers are available. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for weighted fan controlGuenter Roeck
The NCT677X series support weighted fan control. In this mode, a secondary temperature source is used in addition to the primary temperature source to control fan speed. Add support for this feature. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for automatic fan controlGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for pwm, pwm_mode, and pwm_enableGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add power management supportGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for fan debounce module parameterGuenter Roeck
If set, fan debounce is enabled when loading the driver. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for fanX_pulses sysfs attributeGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for fan speed attributesGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for temperature sensorsGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add case open detectionGuenter Roeck
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: Driver for Nuvoton NCT6775F, NCT6776F, and NCT6779DGuenter Roeck
This driver will replace the w83627ehf driver for NCT6775F and NCT6776F, and provides support for NCT6779D. This patch provides support for voltage monitor attributes. Signed-off-by: Guenter Roeck <linux@roeck-us.net>