diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 19:56:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-06 19:56:51 -0700 |
commit | 7aefd944f038c7469571adb37769cb6f3924ecfa (patch) | |
tree | f0a8dc23633b6bbbc4f0bff932f332e847fb6c1b /drivers/hwmon/lm75.c | |
parent | ffa6f55eb6188ee73339cab710fabf30d13110a7 (diff) | |
parent | 39abe9d88b30a51029b0b29a708a4f4459034565 (diff) |
Merge tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck:
- Add driver for Intersil ISL68137 PWM Controller
- Add driver for Lochnagar 2
- Add driver for Infineon IR38064 Voltage Regulator
- Add support for TMP75B to lm75 driver
- Convert documentation to ReST format
- Use request_muxed_region for Super-IO accesses in several drivers
- Add 'samples' attribute to ABI, and start using it
- Add support for custom sysfs attributes to pmbus drivers (used in
ISL68137 driver)
- Introduce HWMON_CHANNEL_INFO macro
- Automated changes:
- Use permission specific [SENSOR_][DEVICE_]ATTR variants
- Fix build warnings due to unused of_device_id structures
- Use HWMON_CHANNEL_INFO macro
- Various minor improvements and fixes
* tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (125 commits)
hwmon: (lm75) Add support for TMP75B
dt-bindings: hwmon: Add tmp75b to lm75.txt
hwmon: (s3c) Use dev_get_drvdata()
hwmon: (max6650) Drop call to thermal_cdev_update
docs: hwmon: remove the extension from .rst files
docs: hwmon: convert three docs to ReST format
hwmon: (max6650) add thermal cooling device capability
hwmon: (ina3221) Add voltage conversion time settings
hwmon: (ina3221) Do not read-back to cache reg_config
docs: hwmon: Add an index file and rename docs to *.rst
docs: hwmon: convert remaining files to ReST format
docs: hwmon: misc files: convert to ReST format
docs: hwmon: pmbus files: convert to ReST format
docs: hwmon: k8temp, w83793: convert to ReST format
docs: hwmon: da9052, da9055: convert to ReST format
docs: hwmon: wm831x, wm8350: convert to ReST format
docs: hwmon: dme1737, vt1211: convert to ReST format
docs: hwmon: ads1015: convert to ReST format
docs: hwmon: asc7621: convert to ReST format
docs: hwmon: ibmpowernv: convert to ReST format
...
Diffstat (limited to 'drivers/hwmon/lm75.c')
-rw-r--r-- | drivers/hwmon/lm75.c | 45 |
1 files changed, 16 insertions, 29 deletions
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 447af07450f1..423a382420b9 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -59,6 +59,7 @@ enum lm75_type { /* keep sorted in alphabetical order */ tmp175, tmp275, tmp75, + tmp75b, tmp75c, }; @@ -194,35 +195,11 @@ static umode_t lm75_is_visible(const void *data, enum hwmon_sensor_types type, return 0; } -/*-----------------------------------------------------------------------*/ - -/* device probe and removal */ - -/* chip configuration */ - -static const u32 lm75_chip_config[] = { - HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL, - 0 -}; - -static const struct hwmon_channel_info lm75_chip = { - .type = hwmon_chip, - .config = lm75_chip_config, -}; - -static const u32 lm75_temp_config[] = { - HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST, - 0 -}; - -static const struct hwmon_channel_info lm75_temp = { - .type = hwmon_temp, - .config = lm75_temp_config, -}; - static const struct hwmon_channel_info *lm75_info[] = { - &lm75_chip, - &lm75_temp, + HWMON_CHANNEL_INFO(chip, + HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL), + HWMON_CHANNEL_INFO(temp, + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST), NULL }; @@ -378,6 +355,11 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id) data->resolution = 12; data->sample_time = MSEC_PER_SEC / 2; break; + case tmp75b: /* not one-shot mode, Conversion rate 37Hz */ + clr_mask |= 1 << 15 | 0x3 << 13; + data->resolution = 12; + data->sample_time = MSEC_PER_SEC / 37; + break; case tmp75c: clr_mask |= 1 << 5; /* not one-shot mode */ data->resolution = 12; @@ -438,12 +420,13 @@ static const struct i2c_device_id lm75_ids[] = { { "tmp175", tmp175, }, { "tmp275", tmp275, }, { "tmp75", tmp75, }, + { "tmp75b", tmp75b, }, { "tmp75c", tmp75c, }, { /* LIST END */ } }; MODULE_DEVICE_TABLE(i2c, lm75_ids); -static const struct of_device_id lm75_of_match[] = { +static const struct of_device_id __maybe_unused lm75_of_match[] = { { .compatible = "adi,adt75", .data = (void *)adt75 @@ -537,6 +520,10 @@ static const struct of_device_id lm75_of_match[] = { .data = (void *)tmp75 }, { + .compatible = "ti,tmp75b", + .data = (void *)tmp75b + }, + { .compatible = "ti,tmp75c", .data = (void *)tmp75c }, |