Commit cd66acb4 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon patches from Guenter Roeck:
 "Bug fixes for sht15 and ltc2978 driver plus some documentation
  updates"

* tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (sht15) Check return value of regulator_enable()
  hwmon: (adt7410) Document ADT7420 support
  hwmon: (pmbus/ltc2978) Use detected chip ID to select supported functionality
  hwmon: (pmbus/ltc2978) Fix peak attribute handling
  hwmon: (pmbus/ltc2978) Update datasheet links
  hwmon: Update my e-mail address in driver documentation
parents 9f225788 3e78080f
...@@ -15,7 +15,7 @@ Supported chips: ...@@ -15,7 +15,7 @@ Supported chips:
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -4,9 +4,14 @@ Kernel driver adt7410 ...@@ -4,9 +4,14 @@ Kernel driver adt7410
Supported chips: Supported chips:
* Analog Devices ADT7410 * Analog Devices ADT7410
Prefix: 'adt7410' Prefix: 'adt7410'
Addresses scanned: I2C 0x48 - 0x4B Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
* Analog Devices ADT7420
Prefix: 'adt7420'
Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
Author: Hartmut Knaack <knaack.h@gmx.de> Author: Hartmut Knaack <knaack.h@gmx.de>
...@@ -27,6 +32,10 @@ value per second or even justget one sample on demand for power saving. ...@@ -27,6 +32,10 @@ value per second or even justget one sample on demand for power saving.
Besides, it can completely power down its ADC, if power management is Besides, it can completely power down its ADC, if power management is
required. required.
The ADT7420 is register compatible, the only differences being the package,
a slightly narrower operating temperature range (-40°C to +150°C), and a
better accuracy (0.25°C instead of 0.50°C.)
Configuration Notes Configuration Notes
------------------- -------------------
......
...@@ -49,7 +49,7 @@ Supported chips: ...@@ -49,7 +49,7 @@ Supported chips:
Addresses scanned: I2C 0x18 - 0x1f Addresses scanned: I2C 0x18 - 0x1f
Author: Author:
Guenter Roeck <guenter.roeck@ericsson.com> Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -8,7 +8,7 @@ Supported devices: ...@@ -8,7 +8,7 @@ Supported devices:
Documentation: Documentation:
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -19,7 +19,7 @@ Supported chips: ...@@ -19,7 +19,7 @@ Supported chips:
Datasheet: Datasheet:
http://www.national.com/pf/LM/LM5066.html http://www.national.com/pf/LM/LM5066.html
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -5,13 +5,13 @@ Supported chips: ...@@ -5,13 +5,13 @@ Supported chips:
* Linear Technology LTC2978 * Linear Technology LTC2978
Prefix: 'ltc2978' Prefix: 'ltc2978'
Addresses scanned: - Addresses scanned: -
Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf Datasheet: http://www.linear.com/product/ltc2978
* Linear Technology LTC3880 * Linear Technology LTC3880
Prefix: 'ltc3880' Prefix: 'ltc3880'
Addresses scanned: - Addresses scanned: -
Datasheet: http://cds.linear.com/docs/Datasheet/3880f.pdf Datasheet: http://www.linear.com/product/ltc3880
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -8,7 +8,7 @@ Supported chips: ...@@ -8,7 +8,7 @@ Supported chips:
Datasheet: Datasheet:
http://cds.linear.com/docs/Datasheet/42612fb.pdf http://cds.linear.com/docs/Datasheet/42612fb.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -7,7 +7,7 @@ Supported chips: ...@@ -7,7 +7,7 @@ Supported chips:
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -24,7 +24,7 @@ Supported chips: ...@@ -24,7 +24,7 @@ Supported chips:
http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -27,7 +27,7 @@ Supported chips: ...@@ -27,7 +27,7 @@ Supported chips:
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -7,7 +7,7 @@ Supported chips: ...@@ -7,7 +7,7 @@ Supported chips:
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -34,7 +34,7 @@ Supported chips: ...@@ -34,7 +34,7 @@ Supported chips:
Addresses scanned: - Addresses scanned: -
Datasheet: n.a. Datasheet: n.a.
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -29,7 +29,7 @@ Supported chips: ...@@ -29,7 +29,7 @@ Supported chips:
http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf
http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Module Parameters Module Parameters
......
...@@ -11,7 +11,7 @@ Supported chips: ...@@ -11,7 +11,7 @@ Supported chips:
http://focus.ti.com/lit/ds/symlink/ucd9090.pdf http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
http://focus.ti.com/lit/ds/symlink/ucd90910.pdf http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -15,7 +15,7 @@ Supported chips: ...@@ -15,7 +15,7 @@ Supported chips:
http://focus.ti.com/lit/ds/symlink/ucd9246.pdf http://focus.ti.com/lit/ds/symlink/ucd9246.pdf
http://focus.ti.com/lit/ds/symlink/ucd9248.pdf http://focus.ti.com/lit/ds/symlink/ucd9248.pdf
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -54,7 +54,7 @@ http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401 ...@@ -54,7 +54,7 @@ http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401
http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256 http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
Author: Guenter Roeck <guenter.roeck@ericsson.com> Author: Guenter Roeck <linux@roeck-us.net>
Description Description
......
...@@ -62,7 +62,7 @@ struct ltc2978_data { ...@@ -62,7 +62,7 @@ struct ltc2978_data {
int temp_min, temp_max; int temp_min, temp_max;
int vout_min[8], vout_max[8]; int vout_min[8], vout_max[8];
int iout_max[2]; int iout_max[2];
int temp2_max[2]; int temp2_max;
struct pmbus_driver_info info; struct pmbus_driver_info info;
}; };
...@@ -204,10 +204,9 @@ static int ltc3880_read_word_data(struct i2c_client *client, int page, int reg) ...@@ -204,10 +204,9 @@ static int ltc3880_read_word_data(struct i2c_client *client, int page, int reg)
ret = pmbus_read_word_data(client, page, ret = pmbus_read_word_data(client, page,
LTC3880_MFR_TEMPERATURE2_PEAK); LTC3880_MFR_TEMPERATURE2_PEAK);
if (ret >= 0) { if (ret >= 0) {
if (lin11_to_val(ret) if (lin11_to_val(ret) > lin11_to_val(data->temp2_max))
> lin11_to_val(data->temp2_max[page])) data->temp2_max = ret;
data->temp2_max[page] = ret; ret = data->temp2_max;
ret = data->temp2_max[page];
} }
break; break;
case PMBUS_VIRT_READ_VIN_MIN: case PMBUS_VIRT_READ_VIN_MIN:
...@@ -248,11 +247,11 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page, ...@@ -248,11 +247,11 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page,
switch (reg) { switch (reg) {
case PMBUS_VIRT_RESET_IOUT_HISTORY: case PMBUS_VIRT_RESET_IOUT_HISTORY:
data->iout_max[page] = 0x7fff; data->iout_max[page] = 0x7c00;
ret = ltc2978_clear_peaks(client, page, data->id); ret = ltc2978_clear_peaks(client, page, data->id);
break; break;
case PMBUS_VIRT_RESET_TEMP2_HISTORY: case PMBUS_VIRT_RESET_TEMP2_HISTORY:
data->temp2_max[page] = 0x7fff; data->temp2_max = 0x7c00;
ret = ltc2978_clear_peaks(client, page, data->id); ret = ltc2978_clear_peaks(client, page, data->id);
break; break;
case PMBUS_VIRT_RESET_VOUT_HISTORY: case PMBUS_VIRT_RESET_VOUT_HISTORY:
...@@ -262,12 +261,12 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page, ...@@ -262,12 +261,12 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page,
break; break;
case PMBUS_VIRT_RESET_VIN_HISTORY: case PMBUS_VIRT_RESET_VIN_HISTORY:
data->vin_min = 0x7bff; data->vin_min = 0x7bff;
data->vin_max = 0; data->vin_max = 0x7c00;
ret = ltc2978_clear_peaks(client, page, data->id); ret = ltc2978_clear_peaks(client, page, data->id);
break; break;
case PMBUS_VIRT_RESET_TEMP_HISTORY: case PMBUS_VIRT_RESET_TEMP_HISTORY:
data->temp_min = 0x7bff; data->temp_min = 0x7bff;
data->temp_max = 0x7fff; data->temp_max = 0x7c00;
ret = ltc2978_clear_peaks(client, page, data->id); ret = ltc2978_clear_peaks(client, page, data->id);
break; break;
default: default:
...@@ -321,12 +320,13 @@ static int ltc2978_probe(struct i2c_client *client, ...@@ -321,12 +320,13 @@ static int ltc2978_probe(struct i2c_client *client,
info = &data->info; info = &data->info;
info->write_word_data = ltc2978_write_word_data; info->write_word_data = ltc2978_write_word_data;
data->vout_min[0] = 0xffff;
data->vin_min = 0x7bff; data->vin_min = 0x7bff;
data->vin_max = 0x7c00;
data->temp_min = 0x7bff; data->temp_min = 0x7bff;
data->temp_max = 0x7fff; data->temp_max = 0x7c00;
data->temp2_max = 0x7c00;
switch (id->driver_data) { switch (data->id) {
case ltc2978: case ltc2978:
info->read_word_data = ltc2978_read_word_data; info->read_word_data = ltc2978_read_word_data;
info->pages = 8; info->pages = 8;
...@@ -336,7 +336,6 @@ static int ltc2978_probe(struct i2c_client *client, ...@@ -336,7 +336,6 @@ static int ltc2978_probe(struct i2c_client *client,
for (i = 1; i < 8; i++) { for (i = 1; i < 8; i++) {
info->func[i] = PMBUS_HAVE_VOUT info->func[i] = PMBUS_HAVE_VOUT
| PMBUS_HAVE_STATUS_VOUT; | PMBUS_HAVE_STATUS_VOUT;
data->vout_min[i] = 0xffff;
} }
break; break;
case ltc3880: case ltc3880:
...@@ -352,11 +351,14 @@ static int ltc2978_probe(struct i2c_client *client, ...@@ -352,11 +351,14 @@ static int ltc2978_probe(struct i2c_client *client,
| PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT
| PMBUS_HAVE_POUT | PMBUS_HAVE_POUT
| PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
data->vout_min[1] = 0xffff; data->iout_max[0] = 0x7c00;
data->iout_max[1] = 0x7c00;
break; break;
default: default:
return -ENODEV; return -ENODEV;
} }
for (i = 0; i < info->pages; i++)
data->vout_min[i] = 0xffff;
return pmbus_do_probe(client, id, info); return pmbus_do_probe(client, id, info);
} }
......
...@@ -965,7 +965,13 @@ static int sht15_probe(struct platform_device *pdev) ...@@ -965,7 +965,13 @@ static int sht15_probe(struct platform_device *pdev)
if (voltage) if (voltage)
data->supply_uv = voltage; data->supply_uv = voltage;
regulator_enable(data->reg); ret = regulator_enable(data->reg);
if (ret != 0) {
dev_err(&pdev->dev,
"failed to enable regulator: %d\n", ret);
return ret;
}
/* /*
* Setup a notifier block to update this if another device * Setup a notifier block to update this if another device
* causes the voltage to change * causes the voltage to change
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment