summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | hwmon: (nct6775) Use ARRAY_SIZE for loops where possibleGuenter Roeck2013-04-131-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776Guenter Roeck2013-04-071-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()Jingoo Han2013-04-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the wrapper functions for getting and setting the driver data using spi_device instead of using dev_{get|set}_drvdata with &spi->dev, so we can directly pass a struct spi_device. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Expand scope of supported chipsGuenter Roeck2013-04-072-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (gpio-fan) Use is_visible to determine if attributes should be createdGuenter Roeck2013-04-071-65/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify code and reduce object size by more than 300 bytes (x86_64). Cc: Jamie Lentin <jm@lentin.co.uk> Cc: Simon Guinot <simon.guinot@sequanux.org> Tested-by: Simon Guinot <simon.guinot@sequanux.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (tmp401) Fix device detection for TMP411B and TMP411CGuenter Roeck2013-04-071-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that TMP411B and TMP411C have different and unique device IDs. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
* | | | hwmon: Add driver for LM95234Guenter Roeck2013-04-073-0/+780
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (tmp401) Add support for TMP431Guenter Roeck2013-04-072-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TMP431 is compatible to TMP401. Also add support for additional I2C addresses supported by TMP411B and TMP411C. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
* | | | hwmon: (pmbus/lm25066) Add support for LM25056Guenter Roeck2013-04-072-10/+124
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (pmbus/lm25066) Refactor device specific coefficientsGuenter Roeck2013-04-071-78/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize device specific coefficients from table instead of hard-coding it to simplify adding additional chips. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (pmbus/lm25066) Clamp limit attributesGuenter Roeck2013-04-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limits on all supported sensors and chips have to be within 0..0x0fff, and limits are always positive. Clamp written values in chip driver. Also clear value cache to ensure that the actually written value is read back and reported correctly. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (pmbus/lm25066) Report VAUX as vmonGuenter Roeck2013-04-071-52/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the driver reported the voltage on VAUX as "vout2". This was not entirely appropriate as it is not an output voltage, and complicates the code. Use the new virtual "VMON" register set and report the voltage as "vmon" instead. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (max6697) Use is_visible and sysfs_create_groupGuenter Roeck2013-04-071-116/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify the code and reduce its size by using is_visible to determine valid attributes, and sysfs_create_group to create all of them with a single call. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (adt7310) Fix sparse warningGuenter Roeck2013-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: drivers/hwmon/adt7310.c:51:16: sparse: cast to restricted __be16 Cc: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (pmbus/ltc2978) Add support for LTC2974 and LTC3883Guenter Roeck2013-04-072-21/+132
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (pmbus/ltc2978) Code cleanupGuenter Roeck2013-04-071-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use u16 instead of int to store cached limit attributes. This reduces allocated data size per driver instance by 48 bytes. Use defines for the number of pages supported by individual chips. Use ARRAY_SIZE for loops to initialize array variables, and initialize all variables in the same code block. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ltc4261) Fix 'Macros with complex values' checkpatch errorGuenter Roeck2013-04-071-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ERROR: Macros with complex values should be enclosed in parenthesis by unwinding the problematic macros. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ltc4245) Fix 'Macros with complex values' checkpatch errorGuenter Roeck2013-04-071-57/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ERROR: Macros with complex values should be enclosed in parenthesis by unwinding the problematic macros. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ltc4215) Fix 'Macros with complex values' checkpatch errorGuenter Roeck2013-04-071-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ERROR: Macros with complex values should be enclosed in parenthesis by unwinding the problematic macros. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ltc4151) Fix 'Avoid unnecessary line continuations' checkpatch warningGuenter Roeck2013-04-071-6/+6
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ina2xx) Fix 'Avoid unnecessary line continuations' checkpatch warningGuenter Roeck2013-04-071-8/+8
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: Fix checkpatch warning 'quoted string split across lines'Guenter Roeck2013-04-0736-249/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cc: Corentin Labbe <corentin.labbe@geomatys.fr> Cc: Mark M. Hoffman <mhoffman@lightlink.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Juerg Haefliger <juergh@gmail.com> Cc: Andreas Herrmann <herrmann.der.user@googlemail.com> Cc: Rudolf Marek <r.marek@assembler.cz> Cc: Jim Cromie <jim.cromie@gmail.com> Cc: Roger Lucas <vt8231@hiddenengine.co.uk> Cc: Marc Hulsman <m.hulsman@tudelft.nl> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: Fix CamelCase checkpatch warningsGuenter Roeck2013-04-078-216/+216
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Drop read/write lockGuenter Roeck2013-04-071-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (nct6775) Only report VID if supported and enabledGuenter Roeck2013-04-071-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | VID is not always enabled (NCT6775, NCT6776) or supported (NCT6779). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Detect and report additional temperature sourcesGuenter Roeck2013-04-071-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (nct6775) Add support for weighted fan controlGuenter Roeck2013-04-071-14/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: (nct6775) Add support for automatic fan controlGuenter Roeck2013-04-071-7/+1092
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add support for pwm, pwm_mode, and pwm_enableGuenter Roeck2013-04-071-0/+329
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add power management supportGuenter Roeck2013-04-071-0/+86
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add support for fan debounce module parameterGuenter Roeck2013-04-071-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | If set, fan debounce is enabled when loading the driver. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add support for fanX_pulses sysfs attributeGuenter Roeck2013-04-071-0/+64
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add support for fan speed attributesGuenter Roeck2013-04-071-1/+515
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add support for temperature sensorsGuenter Roeck2013-04-071-3/+745
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (nct6775) Add case open detectionGuenter Roeck2013-04-071-0/+67
| | | | | | | | | | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: Driver for Nuvoton NCT6775F, NCT6776F, and NCT6779DGuenter Roeck2013-04-073-0/+1035
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | hwmon: Fix 'Macros with complex values' checkpatch errorsGuenter Roeck2013-04-074-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ERROR: Macros with complex values should be enclosed in parenthesis when it is seen due to complex code and not due to multi-line variable declarations. Cc: Hans de Goede <hdegoede@redhat.com> Cc: Alistair John Strachan <alistair@devzero.co.uk> Acked-by: Alistair John Strachan <alistair@devzero.co.uk> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: checkpatch cleanup: Replace printk with pr_debug or dev_dbg as ↵Guenter Roeck2013-04-074-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | appropriate Cc: Hans de Goede <hdegoede@redhat.com> Cc: Alistair John Strachan <alistair@devzero.co.uk> Cc: Henrik Rydberg <rydberg@euromail.se> Acked-by: Alistair John Strachan <alistair@devzero.co.uk> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driverNaveen Krishna Chatradhi2013-04-072-19/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds DT support to NTC driver to parse the platform data. Also adds the support to work as an iio device client. During the probe ntc driver gets the respective channels of ADC and uses iio_raw_read calls to get the ADC converted value. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> [Guenter Roeck: fixed Kconfig dependencies; use ERR_CAST] Tested-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (adt7x10) Add alarm interrupt supportLars-Peter Clausen2013-04-074-9/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows an userspace application to poll() on the alarm files to get notified in case of a temperature threshold event. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Hartmut Knaack <knaack.h@gmx.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (adt7410) Add support for the adt7310/adt7320Lars-Peter Clausen2013-04-076-436/+689
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The adt7310/adt7320 is the SPI version of the adt7410/adt7420. The register map layout is a bit different, i.e. the register addresses differ between the two variants, but the bit layouts of the individual registers are identical. So both chip variants can easily be supported by the same driver. The issue of non matching register address layouts is solved by a simple look-up table which translates the I2C addresses to the SPI addresses. The patch moves the bulk of the adt7410 driver to a common module that will be shared by the adt7410 and adt7310 drivers. This common module implements the driver logic and uses a set of virtual functions to perform IO access. The adt7410 and adt7310 driver modules provide proper implementations of these IO accessor functions for I2C respective SPI. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Hartmut Knaack <knaack.h@gmx.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (adt7410) Don't re-read non-volatile registersLars-Peter Clausen2013-04-071-33/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently each time the temperature register is read the driver also reads the threshold and hysteresis registers. This increases the amount of I2C traffic and time needed to read the temperature by a factor of ~5. Neither the threshold nor the hysteresis change on their own, so once we have read them, we should be able to just use the cached value of the registers. This patch modifies the code accordingly and only reads the threshold and hysteresis registers once during probe. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | | hwmon: (mc13783-adc.c) use module_platform_driver_probe()Jingoo Han2013-04-071-12/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | This patch uses module_platform_driver_probe() macro which makes the code smaller and simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | | hwmon: (lm75.h) Update header inclusionJean Delvare2013-03-181-1/+1
|/ / | | | | | | | | | | | | | | | | File lm75.h used to include <linux/hwmon.h> for SENSORS_LIMIT() but this function is gone by now. Instead we call clamp_val() so we should include <linux/kernel.h>, where this function is declared. Signed-off-by: Jean Delvare <khali@linux-fr.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (pmbus/ltc2978) Fix temperature reportingGuenter Roeck2013-03-141-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On LTC2978, only READ_TEMPERATURE is supported. It reports the internal junction temperature. This register is unpaged. On LTC3880, READ_TEMPERATURE and READ_TEMPERATURE2 are supported. READ_TEMPERATURE is paged and reports external temperatures. READ_TEMPERATURE2 is unpaged and reports the internal junction temperature. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org # 3.2+ Acked-by: Jean Delvare <khali@linux-fr.org>
* | hwmon: (pmbus) Fix krealloc() misuse in pmbus_add_attribute()David Woodhouse2013-03-141-5/+7
| | | | | | | | | | | | | | | | If krealloc() returns NULL, it *doesn't* free the original. So any code of the form 'foo = krealloc(foo, …);' is almost certainly a bug. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (lineage-pem) Add missing terminating entry for ↵Axel Lin2013-03-141-0/+2
| | | | | | | | | | | | | | | | | | pem_[input|fan]_attributes Signed-off-by: Axel Lin <axel.lin@ingics.com> Cc: stable@vger.kernel.org Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (sht15) Check return value of regulator_enable()Mark Brown2013-03-031-1/+7
| | | | | | | | | | | | | | | | | | Not having power is a pretty serious error so check that we are able to enable the supply and error out if we can't. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org #3.8+; 3.0+ will need manual backport Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (pmbus/ltc2978) Use detected chip ID to select supported functionalityGuenter Roeck2013-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | We read the chip ID from the chip, use it to determine if the chip ID provided to the driver is correct, and report it if wrong. We should also use the correct chip ID to select supported functionality. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org # 3.2+ Acked-by: Jean Delvare <khali@linux-fr.org>
* | hwmon: (pmbus/ltc2978) Fix peak attribute handlingGuenter Roeck2013-03-031-13/+15
|/ | | | | | | | | | Peak attributes were not initialized and cleared correctly. Also, temp2_max is only supported on page 0 and thus does not need to be an array. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org # 3.2+ Acked-by: Jean Delvare <khali@linux-fr.org>
OpenPOWER on IntegriCloud