summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'hwmon-for-linus' of ↵Linus Torvalds2013-09-0334-1348/+1563
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: - new driver for HTU21D (humidity sensor) - add support for Fam16h (Kabini) to k10temp - add support for NCT6102D/6106D and NCT6791D to nct6775 driver - add support for ADS1115 to ads1015 driver - add support for hibernate to w83627ehf and nct6775 drivers - some minor cleanups * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (htu21) Add Measurement Specialties HTU21D support hwmon: Change my email address. hwmon: (k10temp) Add support for Fam16h (Kabini) hwmon: (adt7462) ADT7462_REG_VOLT_MAX() should return 0 hwmon: (ads1015) Add support for ADS1115 hwmon: (w83627ehf) Add support for hibernate hwmon: (nct6775) Add support for hibernate hwmon: use dev_get_platdata() hwmon: (nct6775) Fix size of data->temp array hwmon: (nct6775) Avoid using device platform data outside probe function hwmon: (nct6775) Add support for NCT6791D hwmon: (nct6775) Add support for beep attributes hwmon: (nct6775) Add support for critical low/high temperature limits on NCT6106 hwmon: (nct6775) Add support for NCT6102D/6106D hwmon: (nct6775) Support two SuperIO chips in the same system hwmon: (nct6775) Allocate attributes dynamically from templates hwmon: (coretemp) Atom CPUs don't support TjMax; no warning needed
| * hwmon: (htu21) Add Measurement Specialties HTU21D supportWilliam Markezana2013-08-293-0/+210
| | | | | | | | | | | | Signed-off-by: William Markezana <william.markezana@meas-spec.com> [Guenter Roeck - minor formatting changes] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: Change my email address.Darrick J. Wong2013-08-276-12/+12
| | | | | | | | | | | | | | I've changed employers, so change the email addresses to match. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (k10temp) Add support for Fam16h (Kabini)Wei Hu2013-08-272-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | The temperature reporting interface stays the same, so we just add the PCI-ID to the list. Verified on AMD Olive Hill. Signed-off-by: Wei Hu <wei@aristanetworks.com> Acked-by: Clemens Ladisch <clemens@ladisch.de> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (adt7462) ADT7462_REG_VOLT_MAX() should return 0Dan Carpenter2013-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The callers never check for negative but they sometimes check for zero returns: int reg = ADT7462_REG_VOLT_MAX(data, i); data->volt_max[i] = (reg ? i2c_smbus_read_byte_data(client, reg) : 0); Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ads1015) Add support for ADS1115Evgeniy Dushistov2013-08-112-8/+23
| | | | | | | | | | | | | | | | | | This patch adds support for ads1115 device to ads1015 driver. Based on work of Emiliano Carnati <carnatiatebneuro.com>. Tested on ARM CPU based board. Signed-off-by: Evgeniy A. Dushistov <dushistov@mail.ru> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (w83627ehf) Add support for hibernateHarald Judt2013-08-111-0/+2
| | | | | | | | | | | | | | | | 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>
| * hwmon: (nct6775) Add support for hibernateHarald Judt2013-08-111-0/+2
| | | | | | | | | | | | | | | | 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>
| * hwmon: use dev_get_platdata()Jingoo Han2013-08-1122-44/+46
| | | | | | | | | | | | | | | | 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>
| * hwmon: (nct6775) Fix size of data->temp arrayDan Carpenter2013-08-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * hwmon: (nct6775) Avoid using device platform data outside probe functionGuenter Roeck2013-08-111-26/+25
| | | | | | | | | | | | | | | | | | 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>
| * hwmon: (nct6775) Add support for NCT6791DDavid Bartley2013-08-111-74/+207
| | | | | | | | | | Signed-off-by: David Bartley <andareed@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Add support for beep attributesGuenter Roeck2013-08-111-21/+218
| | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Add support for critical low/high temperature limits on NCT6106Guenter Roeck2013-08-111-9/+34
| | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Add support for NCT6102D/6106DGuenter Roeck2013-08-111-25/+225
| | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Support two SuperIO chips in the same systemGuenter Roeck2013-08-111-50/+63
| | | | | | | | Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Allocate attributes dynamically from templatesGuenter Roeck2013-08-111-1103/+507
| | | | | | | | | | | | | | | | | | 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>
| * hwmon: (coretemp) Atom CPUs don't support TjMax; no warning neededGuenter Roeck2013-08-111-1/+13
| | | | | | | | | | | | | | Display warning "Unable to read TjMax from CPU x" only if the CPU is supposed to support it. This is not the case for the various Atom CPUs. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | Merge remote-tracking branch 'regulator/topic/optional' into regulator-nextMark Brown2013-09-011-1/+1
|\ \ | |/ |/|
| * hwmon: (sht15) Use devm_regulator_get_optional()Mark Brown2013-08-191-1/+1
| | | | | | | | | | | | | | | | | | Since the sht15 driver supports operation without an external vref regulator the driver should use the new devm_regulator_get_optional() to indicate that a stub regulator should not be provided. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (adt7470) Fix incorrect return code checkCurt Brune2013-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In adt7470_write_word_data(), which writes two bytes using i2c_smbus_write_byte_data(), the return codes are incorrectly AND-ed together when they should be OR-ed together. The return code of i2c_smbus_write_byte_data() is zero for success. The upshot is only the first byte was ever written to the hardware. The 2nd byte was never written out. I noticed that trying to set the fan speed limits was not working correctly on my system. Setting the fan speed limits is the only code that uses adt7470_write_word_data(). After making the change the limit settings work and the alarms work also. Signed-off-by: Curt Brune <curt@cumulusnetworks.com> Cc: stable@vger.kernel.org Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: (max6697) fix MAX6581 idealityVivien Didelot2013-08-031-2/+2
|/ | | | | | | | | Without this patch, the values for ideality (register 0x4b) and ideality selection mask (register 0x4c) are inverted. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Cc: stable@vger.kernel.org # 3.9+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* Merge tag 'hwmon-for-linus' of ↵Linus Torvalds2013-07-181-1/+1
|\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fix from Guenter Roeck: "Single patch to staticize a local variable" * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (abx500) Staticize abx500_temp_attributes
| * hwmon: (abx500) Staticize abx500_temp_attributesSachin Kamat2013-07-141-1/+1
| | | | | | | | | | | | | | abx500_temp_attributes is used only in this file. Make it static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | hwmon: delete __cpuinit usage from all hwmon filesPaul Gortmaker2013-07-142-25/+22
|/ | | | | | | | | | | | | | | | | | | | | | | The __cpuinit type of throwaway sections might have made sense some time ago when RAM was more constrained, but now the savings do not offset the cost and complications. For example, the fix in commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time") is a good example of the nasty type of bugs that can be created with improper use of the various __init prefixes. After a discussion on LKML[1] it was decided that cpuinit should go the way of devinit and be phased out. Once all the users are gone, we can then finally remove the macros themselves from linux/init.h. This removes all the drivers/hwmon uses of the __cpuinit macros from all C files. [1] https://lkml.org/lkml/2013/5/20/589 Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: lm-sensors@lm-sensors.org Acked-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* hwmon: (lm63) Drop redundant safety on cache lifetimeJean Delvare2013-07-081-3/+2
| | | | | | | | | | time_after (as opposed to time_after_equal) already ensures that the cache lifetime is at least as much as requested. There is no point in manually adding another jiffy to that value, and this can confuse the reader into wrong interpretation. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Imre Deak <imre.deak@intel.com>
* hwmon: (lm90) Drop redundant safety on cache lifetimeJean Delvare2013-07-081-2/+2
| | | | | | | | | | time_after (as opposed to time_after_equal) already ensures that the cache lifetime is at least as much as requested. There is no point in manually adding another jiffy to that value, and this can confuse the reader into wrong interpretation. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Imre Deak <imre.deak@intel.com>
* Merge tag 'hwmon-for-linus' of ↵Linus Torvalds2013-07-0313-100/+1435
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: - new driver to support GMT G762/G763 pwm fan controllers - add support for DS1631, DS1721, and DS1731 to ds1621 driver - remove detect function from ds1621 driver as unreliable - bug fixes in nct6775, iio_hwmon, and adm1021 drivers - remove redundant platform_set_drvdata in various drivers - add device tree support to ina2xx driver * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (ds1621) Fix temperature rounding operations hwmon: (nct6775) Drop unsupported fan alarm attributes for NCT6775 hwmon: (nct6775) Fix temperature alarm attributes Add support for GMT G762/G763 PWM fan controllers hwmon: (ina2xx) Add device tree support to pass the shunt resistor hwmon: (ds1621) Update documentation hwmon: (ds1621) Add DS1731 chip support to ds1621 driver hwmon: (iio_hwmon) add alias table hwmon: (adm1021) Do not create min sysfs attributes for LM84 hwmon: (ds1621) Remove detect function hwmon: (ds1621) Add ds1631 chip support to ds1621 driver and documentation hwmon: (ds1621) Add ds1721 update interval sysfs attribute hwmon: (ds1621) Add ds1721 chip support hwmon: (w83627ehf) Remove redundant platform_set_drvdata() hwmon: (ntc_thermistor) Remove redundant platform_set_drvdata() hwmon: (i5k_amb) Remove redundant platform_set_drvdata() hwmon: (coretemp) Remove redundant platform_set_drvdata() hwmon: (abituguru3) Remove redundant platform_set_drvdata()
| * hwmon: (ds1621) Fix temperature rounding operationsGuenter Roeck2013-06-281-9/+12
| | | | | | | | | | | | | | | | | | Commit "hwmon: (ds1621) Add ds1721 chip support" broke rounding for chips or configurations with less than 12 bit resolution. Tested-by: Jean Delvare <khali@linux-fr.org> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (nct6775) Drop unsupported fan alarm attributes for NCT6775Guenter Roeck2013-06-271-5/+7
| | | | | | | | | | | | | | 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>
| * hwmon: (nct6775) Fix temperature alarm attributesGuenter Roeck2013-06-271-23/+57
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add support for GMT G762/G763 PWM fan controllersArnaud Ebalard2013-06-273-0/+1160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GMT G762/763 fan speed PWM controller is connected directly to a fan and performs closed-loop or open-loop control of the fan speed. Two modes - PWM or DC - are supported by the chip. Introduced driver provides various knobs to control the operations of the chip (via sysfs interface). Specific characteristics of the system can be passed either using board init code or via DT. Documentation for both the driver and DT bindings are also provided. Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Tested-by: Simon Guinot <simon.guinot@sequanux.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ina2xx) Add device tree support to pass the shunt resistorTang Yuantian2013-06-271-0/+5
| | | | | | | | | | | | | | | | | | Adding another way that is device tree to pass the shunt resistor value to driver except for platform data. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> [Guenter Roeck: Added missing of.h include] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ds1621) Add DS1731 chip support to ds1621 driverRobert Coulson2013-06-272-5/+8
| | | | | | | | | | | | | | | | These changes add DS1731 chip support to the ds1621 driver, Kconfig, and documentation. Signed-off-by: Robert Coulson <rob.coulson@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (iio_hwmon) add alias tableSebastian Andrzej Siewior2013-06-271-0/+1
| | | | | | | | | | | | | | | | This helps the kernel to find the right module once the device is created. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (adm1021) Do not create min sysfs attributes for LM84Guenter Roeck2013-06-271-7/+25
| | | | | | | | | | | | | | | | LM84 does not support minimum temperature registers. Only create the respective sysfs attributes for other chips. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
| * hwmon: (ds1621) Remove detect functionRobert Coulson2013-06-271-48/+0
| | | | | | | | | | | | | | | | | | | | | | Due to a lack of device and vendor identification registers, the Dallas/Maxim DS16xx devices cannot be uniquely detected, sometimes resulting in false positives. Therefore, the detect function is being removed in favor of explicit device instantiation. Signed-off-by: Robert Coulson <rob.coulson@gmail.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ds1621) Add ds1631 chip support to ds1621 driver and documentationRobert Coulson2013-06-272-7/+21
| | | | | | | | | | | | | | | | Add definitions, information, and code for ds1631 chip support to the ds1621 driver. Signed-off-by: Robert Coulson <rob.coulson@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ds1621) Add ds1721 update interval sysfs attributeRobert Coulson2013-06-271-0/+56
| | | | | | | | | | | | | | | | | | | | | | The ds1721 device can be configured for 9..12 bit resolutions; add a sysfs attribute for userspace to configure this attribute. The definition, description, details, and usage are shown in the documentation and were crafted from an LM73 driver patch done by Chris Verges & Guenter Roeck). Signed-off-by: Robert Coulson <rob.coulson@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ds1621) Add ds1721 chip supportRobert Coulson2013-06-272-17/+112
| | | | | | | | | | | | | | | | Update the ds1621 documentation, driver, and Kconfig with ds1721 chip support. Signed-off-by: Robert Coulson <rob.coulson@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (w83627ehf) Remove redundant platform_set_drvdata()Sachin Kamat2013-06-211-2/+0
| | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (ntc_thermistor) Remove redundant platform_set_drvdata()Sachin Kamat2013-06-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (i5k_amb) Remove redundant platform_set_drvdata()Sachin Kamat2013-06-211-2/+0
| | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (coretemp) Remove redundant platform_set_drvdata()Sachin Kamat2013-06-211-2/+0
| | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| * hwmon: (abituguru3) Remove redundant platform_set_drvdata()Sachin Kamat2013-06-211-1/+0
| | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* | drivers: avoid parsing names as kthread_run() format stringsKees Cook2013-07-031-1/+1
|/ | | | | | | | | | Calling kthread_run with a single name parameter causes it to be handled as a format string. Many callers are passing potentially dynamic string content, so use "%s" in those cases to avoid any potential accidents. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* hwmon: (adm1021) Strengthen chip detection for ADM1021, LM84 and MAX1617Guenter Roeck2013-06-071-8/+50
| | | | | | | | | | | | | On a system with both MAX1617 and JC42 sensors, JC42 sensors can be misdetected as LM84. Strengthen detection sufficiently enough to avoid this misdetection. Also improve detection for ADM1021. Modeled after chip detection code in sensors-detect command. Cc: stable@vger.kernel.org Signed-off-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Jean Delvare <khali@linux-fr.org> Acked-by: Jean Delvare <khali@linux-fr.org>
* hwmon: (tmp401) Drop redundant safety on cache lifetimeJean Delvare2013-05-191-1/+1
| | | | | | | | | | | | time_after (as opposed to time_after_equal) already ensures that the cache lifetime is at least as much as requested. There is no point in manually adding another jiffy to that value, and this can confuse the reader into wrong interpretation. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Imre Deak <imre.deak@intel.com> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: fix error return code in abituguru_probe()Wei Yongjun2013-05-131-6/+10
| | | | | | | | | Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Cc: stable@vger.kernel.org Signed-off-by: Guenter Roeck <linux@roeck-us.net>
* hwmon: (iio_hwmon) Fix null pointer dereferenceAxel Lin2013-05-131-1/+1
| | | | | | | | | This patch fixes the null pointer dereference in goto error_release_channels path when allocate memory for st fails. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>