summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
AgeCommit message (Collapse)AuthorFilesLines
2013-04-29Merge tag 'staging-3.10-rc1' of ↵Linus Torvalds3-0/+206
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver tree update from Greg Kroah-Hartman: "Here's the big staging driver tree update for 3.10-rc1 This update contains loads of comedi driver cleanups and fixes in here, iio updates, android driver changes, and other various staging driver cleanups. Thanks to some drivers being removed, and the comedi driver cleanups, we have removed more code than we added: 627 files changed, 65145 insertions(+), 76321 deletions(-) which is always nice to see. All of these have been in linux-next for a while." * tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits) staging: comedi: ni_labpc: fix legacy driver build staging: comedi: das800: cleanup the cio-das802/16 fifo comments staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd() staging: comedi: das800: tidy up the private data staging: comedi: das800: tidy up das800_interrupt() staging: comedi: das800: tidy up das800_ai_insn_read() staging: comedi: das800: tidy up das800_di_insn_bits() staging: comedi: das800: tidy up das800_do_insn_bits() staging: comedi: das800: remove extra divisor calculation call staging: comedi: das800: rename {enable,disable}_das800 staging: comedi: das800: tidy up subdevice init staging: comedi: das800: allow attaching without interrupt support staging: comedi: das800: interrupts are required for async command support staging: comedi: das800: tidy up das800_ai_do_cmdtest() staging: comedi: das800: remove 'volatile' on private data variables staging: comedi: das800: cleanup the boardinfo staging: comedi: das800: cleanup range table declarations staging: comedi: das800: introduce das800_ind_{write, read}() staging: comedi: das800: remove forward declarations staging: comedi: das800: move das800_set_frequency() ...
2013-04-21hwmon: (nct6775) Fix coding style problemsGuenter Roeck1-3/+3
Add space around binary operators (CodingStyle, chapter 3.1). Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-21hwmon: (nct6775) Constify stringsGuenter Roeck1-1/+1
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-21hwmon: (tmp401) Add support for TMP432Guenter Roeck2-38/+156
TMP432 is similar to TMP431 with a second external temperature sensor. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
2013-04-21hwmon: (tmp401) Add support for update_interval attributeGuenter Roeck1-1/+53
Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
2013-04-21hwmon: (tmp401) Reset valid flag when resetting temperature historyGuenter Roeck1-2/+6
Cached data is no longer valid after resetting the temperature history. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
2013-04-21hwmon: (tmp401) Simplification and cleanupGuenter Roeck1-234/+137
Use two-dimensional array pointing to registers Merge temperature and limit access functions into a single function Return error codes from I2C reads Use DIV_ROUND_CLOSEST for rounding operations and improve rounding Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
2013-04-14hwmon: (tmp401) Use sysfs_create_group / sysfs_remove_groupGuenter Roeck1-63/+91
instead of creating and removing sysfs attribute files individually. Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-14hwmon: (tmp401) Drop unused defines, use BIT for bit masksGuenter Roeck1-11/+10
Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
2013-04-13hwmon: (nct6775) Use ARRAY_SIZE for loops where possibleGuenter Roeck1-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>
2013-04-07hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776Guenter Roeck1-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>
2013-04-07hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()Jingoo Han1-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>
2013-04-07hwmon: (nct6775) Expand scope of supported chipsGuenter Roeck2-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>
2013-04-07hwmon: (gpio-fan) Use is_visible to determine if attributes should be createdGuenter Roeck1-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>
2013-04-07hwmon: (tmp401) Fix device detection for TMP411B and TMP411CGuenter Roeck1-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>
2013-04-07hwmon: Add driver for LM95234Guenter Roeck3-0/+780
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (tmp401) Add support for TMP431Guenter Roeck2-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>
2013-04-07hwmon: (pmbus/lm25066) Add support for LM25056Guenter Roeck2-10/+124
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (pmbus/lm25066) Refactor device specific coefficientsGuenter Roeck1-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>
2013-04-07hwmon: (pmbus/lm25066) Clamp limit attributesGuenter Roeck1-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>
2013-04-07hwmon: (pmbus/lm25066) Report VAUX as vmonGuenter Roeck1-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>
2013-04-07hwmon: (max6697) Use is_visible and sysfs_create_groupGuenter Roeck1-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>
2013-04-07hwmon: (adt7310) Fix sparse warningGuenter Roeck1-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>
2013-04-07hwmon: (pmbus/ltc2978) Add support for LTC2974 and LTC3883Guenter Roeck2-21/+132
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (pmbus/ltc2978) Code cleanupGuenter Roeck1-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>
2013-04-07hwmon: (ltc4261) Fix 'Macros with complex values' checkpatch errorGuenter Roeck1-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>
2013-04-07hwmon: (ltc4245) Fix 'Macros with complex values' checkpatch errorGuenter Roeck1-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>
2013-04-07hwmon: (ltc4215) Fix 'Macros with complex values' checkpatch errorGuenter Roeck1-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>
2013-04-07hwmon: (ltc4151) Fix 'Avoid unnecessary line continuations' checkpatch warningGuenter Roeck1-6/+6
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (ina2xx) Fix 'Avoid unnecessary line continuations' checkpatch warningGuenter Roeck1-8/+8
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: Fix checkpatch warning 'quoted string split across lines'Guenter Roeck36-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>
2013-04-07hwmon: Fix CamelCase checkpatch warningsGuenter Roeck8-216/+216
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Drop read/write lockGuenter Roeck1-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>
2013-04-07hwmon: (nct6775) Only report VID if supported and enabledGuenter Roeck1-6/+24
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 Roeck1-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>
2013-04-07hwmon: (nct6775) Add support for weighted fan controlGuenter Roeck1-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>
2013-04-07hwmon: (nct6775) Add support for automatic fan controlGuenter Roeck1-7/+1092
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for pwm, pwm_mode, and pwm_enableGuenter Roeck1-0/+329
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add power management supportGuenter Roeck1-0/+86
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for fan debounce module parameterGuenter Roeck1-0/+28
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 Roeck1-0/+64
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for fan speed attributesGuenter Roeck1-1/+515
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add support for temperature sensorsGuenter Roeck1-3/+745
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: (nct6775) Add case open detectionGuenter Roeck1-0/+67
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2013-04-07hwmon: Driver for Nuvoton NCT6775F, NCT6776F, and NCT6779DGuenter Roeck3-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>
2013-04-07hwmon: Fix 'Macros with complex values' checkpatch errorsGuenter Roeck4-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>
2013-04-07hwmon: checkpatch cleanup: Replace printk with pr_debug or dev_dbg as ↵Guenter Roeck4-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>
2013-04-07hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driverNaveen Krishna Chatradhi2-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>
2013-04-07hwmon: (adt7x10) Add alarm interrupt supportLars-Peter Clausen4-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>
2013-04-07hwmon: (adt7410) Add support for the adt7310/adt7320Lars-Peter Clausen6-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>