aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-08-19 09:56:28 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-08-19 09:56:28 -0700
commit7acf90feab8b009fde7def08ff2c622d0f10e99f (patch)
tree7d35a67ff5ece640499d3ab73200afae3bfead56
parent4e1b759c06721bc4e0fdfe5c179b58e7e20d3d13 (diff)
parent75f2c0b3690702c90863c2e138cb5520670845ea (diff)
Merge tag 'hwmon-for-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: "New drivers: - Kandou KB9002 retimer - PolarFire SoC temp/voltage sensor - Eswin EIC7700 PVT sensor - PMBus: - Analog Devices MAX16545/MAX16550 and Volterra VT7505 - Monolithic MPQ82D00 and MPQ8646 - Silergy SQ24860 Added support to existing drivers: - asus-ec-sensors: Support for ROG STRIX Z390-E GAMING, ProArt Z690-CREATOR WIFI, ROG STRIX X870E-E GAMING WIFI7 R2, ROG CROSSHAIR X870E HERO, and ROG Maximus Z790 Hero - asus_rog_ryujin: Siupport for ROG Ryujin III - ina2xx: Support for INA232 - k10temp: Per-CCD temperature monitoring for Zen5 Turin - nct6775: List NCT5585D as supported chip - nzxt-kraken3: Support for NZXT Kraken 2024 Elite - sht3x: Support for GXCAS GXHT30 - tmp102: Add device IDs for TMP110 and TMP113 - yogafan: Support for LOQ 15IAX9, XiaoXin Pro 13ARE 2020, IdeaPad 3 15ALC6, Legion Pro 7 16AFR10H, Yoga Pro 7 14IAH10, Yoga 7 16ARP8, and Lenovo LOQ 15IAX9 - PMBus: - max20830: Support for max20830c and max20840c - max34440: Support for MAX34452, and support for newer version of max34451 - adm1275: Support for ROHM BD12780 and BD12790 Other notable changes: - Constify various device attributes - Remove redundant dev_err() and dev_err_probe() from various drivers - applesmc: Convert to hwmon_device_register_with_info - adt7470: Add thermal zone sensor support - coretemp: Fix core_data leak on CPUs without PTS - emc1403: Drop hysteresis for low limit temperature - max6621: Fix various over- and underflow problems - PMBus: - Introduce pmbus_read_smbus_i2c_block_data() and use it in various drivers - Export and use pmbus_check_and_notify_faults() - Let PMBus drivers report the supported PMBus revision Various other minor fixes and improvements" * tag 'hwmon-for-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (110 commits) hwmon: (emc1403) Drop hysteresis for low limit temperature hwmon: (coretemp) Fix core_data leak on CPUs without PTS hwmon: (max6621) fix negative temperature offset and crit readings hwmon: (max6621) fix temperature clamp range hwmon: (asus_rog_ryujin) Add ROG Ryujin III White Edition hwmon: (asus_rog_ryujin) Add ROG Ryujin III support hwmon: (asus_rog_ryujin) Add per-device configuration hwmon: (k10temp) Add per-CCD temperature monitoring for Zen5 Turin hwmon: (tmp102) Add TMP113 device ID hwmon: (tmp102) Add TMP110 device ID hwmon: (nct6775) Add NCT5585D to list of supported chips Documentation: hwmon: (nct6775) Add missing NCT6797D and NCT6798D hwmon: (emc1403) Add regulator support hwmon: (emc1403) Convert to use OF bindings dt-bindings: hwmon: Document SMSC EMC1402/1403/1404/1428 hwmon: (asus-ec-sensors) add ROG STRIX Z390-E GAMING hwmon: (sysfs) Allow drivers to register const attributes hwmon: (corsair-psu) Update documentation hwmon: (core) Use const APIs for the dynamically allocated sysfs attributes hwmon: (core) Constify device attributes ...
-rw-r--r--Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml43
-rw-r--r--Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml58
-rw-r--r--Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml6
-rw-r--r--Documentation/devicetree/bindings/hwmon/eswin,eic7700-pvt.yaml72
-rw-r--r--Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml16
-rw-r--r--Documentation/devicetree/bindings/hwmon/pmbus/adi,max20830.yaml30
-rw-r--r--Documentation/devicetree/bindings/hwmon/pmbus/adi,vt7505.yaml85
-rw-r--r--Documentation/devicetree/bindings/hwmon/pmbus/mps,mpq8785.yaml5
-rw-r--r--Documentation/devicetree/bindings/hwmon/pmbus/silergy,sq24860.yaml74
-rw-r--r--Documentation/devicetree/bindings/hwmon/pmbus/ti,lm25066.yaml20
-rw-r--r--Documentation/devicetree/bindings/hwmon/sensirion,sht30.yaml71
-rw-r--r--Documentation/devicetree/bindings/hwmon/smsc,emc1403.yaml203
-rw-r--r--Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml3
-rw-r--r--Documentation/devicetree/bindings/trivial-devices.yaml4
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.yaml4
-rw-r--r--Documentation/hwmon/adm1275.rst24
-rw-r--r--Documentation/hwmon/asus_ec_sensors.rst5
-rw-r--r--Documentation/hwmon/asus_rog_ryujin.rst25
-rw-r--r--Documentation/hwmon/chipcap2.rst2
-rw-r--r--Documentation/hwmon/coretemp.rst4
-rw-r--r--Documentation/hwmon/corsair-psu.rst6
-rw-r--r--Documentation/hwmon/emc1403.rst8
-rw-r--r--Documentation/hwmon/index.rst6
-rw-r--r--Documentation/hwmon/kb9002.rst64
-rw-r--r--Documentation/hwmon/max20830.rst27
-rw-r--r--Documentation/hwmon/max34440.rst26
-rw-r--r--Documentation/hwmon/mpq82d00.rst73
-rw-r--r--Documentation/hwmon/mpq8646.rst300
-rw-r--r--Documentation/hwmon/nct6775.rst24
-rw-r--r--Documentation/hwmon/nzxt-kraken3.rst1
-rw-r--r--Documentation/hwmon/sg2042-mcu.rst2
-rw-r--r--Documentation/hwmon/sht3x.rst17
-rw-r--r--Documentation/hwmon/sq24860.rst96
-rw-r--r--Documentation/hwmon/tvs-mpfs.rst53
-rw-r--r--Documentation/hwmon/vt7505.rst89
-rw-r--r--Documentation/hwmon/yogafan.rst27
-rw-r--r--MAINTAINERS30
-rw-r--r--drivers/hwmon/Kconfig59
-rw-r--r--drivers/hwmon/Makefile3
-rw-r--r--drivers/hwmon/acpi_power_meter.c6
-rw-r--r--drivers/hwmon/adt7470.c203
-rw-r--r--drivers/hwmon/applesmc.c490
-rw-r--r--drivers/hwmon/asus-ec-sensors.c86
-rw-r--r--drivers/hwmon/asus_rog_ryujin.c96
-rw-r--r--drivers/hwmon/axi-fan-control.c3
-rw-r--r--drivers/hwmon/chipcap2.c25
-rw-r--r--drivers/hwmon/coretemp.c3
-rw-r--r--drivers/hwmon/corsair-psu.c2
-rw-r--r--drivers/hwmon/cros_ec_hwmon.c36
-rw-r--r--drivers/hwmon/da9055-hwmon.c5
-rw-r--r--drivers/hwmon/eic7700-pvt.c509
-rw-r--r--drivers/hwmon/eic7700-pvt.h99
-rw-r--r--drivers/hwmon/emc1403.c48
-rw-r--r--drivers/hwmon/gxp-fan-ctrl.c106
-rw-r--r--drivers/hwmon/hwmon.c76
-rw-r--r--drivers/hwmon/ina2xx.c20
-rw-r--r--drivers/hwmon/k10temp.c14
-rw-r--r--drivers/hwmon/kb9002.c460
-rw-r--r--drivers/hwmon/lm90.c58
-rw-r--r--drivers/hwmon/ltc4283.c1
-rw-r--r--drivers/hwmon/max6621.c8
-rw-r--r--drivers/hwmon/nct6775-core.c1
-rw-r--r--drivers/hwmon/nct6775-platform.c2
-rw-r--r--drivers/hwmon/npcm750-pwm-fan.c4
-rw-r--r--drivers/hwmon/nzxt-kraken3.c9
-rw-r--r--drivers/hwmon/peci/common.h4
-rw-r--r--drivers/hwmon/pmbus/Kconfig91
-rw-r--r--drivers/hwmon/pmbus/Makefile4
-rw-r--r--drivers/hwmon/pmbus/acbel-fsg032.c1
-rw-r--r--drivers/hwmon/pmbus/adm1275.c151
-rw-r--r--drivers/hwmon/pmbus/ir36021.c22
-rw-r--r--drivers/hwmon/pmbus/lm25066.c37
-rw-r--r--drivers/hwmon/pmbus/ltc2978.c21
-rw-r--r--drivers/hwmon/pmbus/max20830.c135
-rw-r--r--drivers/hwmon/pmbus/max34440.c96
-rw-r--r--drivers/hwmon/pmbus/mp2975.c5
-rw-r--r--drivers/hwmon/pmbus/mpq82d00.c249
-rw-r--r--drivers/hwmon/pmbus/mpq8646.c976
-rw-r--r--drivers/hwmon/pmbus/pmbus.h22
-rw-r--r--drivers/hwmon/pmbus/pmbus_core.c154
-rw-r--r--drivers/hwmon/pmbus/sq24860.c430
-rw-r--r--drivers/hwmon/pmbus/vt7505.c287
-rw-r--r--drivers/hwmon/pmbus/xdpe1a2g7b.c11
-rw-r--r--drivers/hwmon/pwm-fan.c6
-rw-r--r--drivers/hwmon/sht15.c4
-rw-r--r--drivers/hwmon/sht3x.c15
-rw-r--r--drivers/hwmon/tmp102.c2
-rw-r--r--drivers/hwmon/tmp401.c2
-rw-r--r--drivers/hwmon/tvs-mpfs.c390
-rw-r--r--drivers/hwmon/xgene-hwmon.c4
-rw-r--r--drivers/hwmon/yogafan.c67
-rw-r--r--include/linux/hwmon-sysfs.h14
92 files changed, 6578 insertions, 657 deletions
diff --git a/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml b/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
index d6a7517f2a50..283cd1662689 100644
--- a/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
+++ b/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
@@ -25,19 +25,38 @@ description: |
https://www.silergy.com/
download/downloadFile?id=5669&type=product&ftype=note
+ The BD12780 and BD12780A are hot-swap controllers from ROHM. They are
+ functionally compatible with the ADM1278. The main difference between
+ the BD12780A and the BD12780 is amount of configurable I2C addresses.
+
+ Datasheets:
+ https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/power_switch/bd12780muv-lb-e.pdf
+ https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/power_switch/bd12780amuv-lb-e.pdf
+
+ The BD12790 is a ROHM hot-swap controller, functionally similar to the
+ ADM1272.
+
properties:
compatible:
- enum:
- - adi,adm1075
- - adi,adm1272
- - adi,adm1273
- - adi,adm1275
- - adi,adm1276
- - adi,adm1278
- - adi,adm1281
- - adi,adm1293
- - adi,adm1294
- - silergy,mc09c
+ oneOf:
+ - enum:
+ - adi,adm1075
+ - adi,adm1272
+ - adi,adm1273
+ - adi,adm1275
+ - adi,adm1276
+ - adi,adm1278
+ - adi,adm1281
+ - adi,adm1293
+ - adi,adm1294
+ - rohm,bd12780
+ - rohm,bd12790
+ - silergy,mc09c
+
+ # Require BD12780 as a fall-back for BD12780A.
+ - items:
+ - const: rohm,bd12780a
+ - const: rohm,bd12780
reg:
maxItems: 1
@@ -88,6 +107,7 @@ allOf:
enum:
- adi,adm1272
- adi,adm1273
+ - rohm,bd12790
then:
properties:
adi,volt-curr-sample-average:
@@ -104,6 +124,7 @@ allOf:
- adi,adm1281
- adi,adm1293
- adi,adm1294
+ - rohm,bd12780
- silergy,mc09c
then:
properties:
diff --git a/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml
new file mode 100644
index 000000000000..a701542898ee
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/adi,adt7470.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices ADT7470 hwmon sensor
+
+maintainers:
+ - Luiz Angelo Daros de Luca <luizluca@gmail.com>
+
+description:
+ Multi-channel temperature monitor and PWM fan controller.
+ It supports monitoring up to 10 external temperature sensors and
+ controlling up to 4 fans. The fan control lines are modeled
+ as standard PWM channels.
+
+properties:
+ compatible:
+ const: adi,adt7470
+
+ reg:
+ maxItems: 1
+
+ "#pwm-cells":
+ const: 3
+
+ "#thermal-sensor-cells":
+ const: 1
+ description:
+ Valid index values are 0 to 9, corresponding to temp1 through temp10.
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - if:
+ required:
+ - "#thermal-sensor-cells"
+ then:
+ $ref: /schemas/thermal/thermal-sensor.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hwmon@2f {
+ compatible = "adi,adt7470";
+ reg = <0x2f>;
+ #pwm-cells = <3>;
+ #thermal-sensor-cells = <1>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml b/Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml
index 17351fdbefce..56b0cecfca5f 100644
--- a/Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml
+++ b/Documentation/devicetree/bindings/hwmon/amphenol,chipcap2.yaml
@@ -45,6 +45,8 @@ properties:
- const: low
- const: high
+ label: true
+
vdd-supply:
description:
Dedicated, controllable supply-regulator to reset the device and
@@ -55,6 +57,9 @@ required:
- reg
- vdd-supply
+allOf:
+ - $ref: hwmon-common.yaml#
+
additionalProperties: false
examples:
@@ -72,6 +77,7 @@ examples:
<5 IRQ_TYPE_EDGE_RISING>,
<6 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ready", "low", "high";
+ label = "Room";
vdd-supply = <&reg_vdd>;
};
};
diff --git a/Documentation/devicetree/bindings/hwmon/eswin,eic7700-pvt.yaml b/Documentation/devicetree/bindings/hwmon/eswin,eic7700-pvt.yaml
new file mode 100644
index 000000000000..58ec8635dce3
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/eswin,eic7700-pvt.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/eswin,eic7700-pvt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ESWIN EIC7700 PVT Sensor
+
+maintainers:
+ - Yulin Lu <luyulin@eswincomputing.com>
+ - Huan He <hehuan1@eswincomputing.com>
+
+description:
+ ESWIN EIC7700 SoC integrates embedded voltage and temperature sensors to
+ monitor the internal SoC environment. The system includes two PVT sensor
+ instances. The PVT0 monitors the main SoC power domain. The PVT1 sensor
+ monitors the DDR core power domain.
+
+allOf:
+ - $ref: /schemas/hwmon/hwmon-common.yaml#
+
+properties:
+ compatible:
+ const: eswin,eic7700-pvt
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: PVT enable clock
+ - description: APB bus clock
+
+ clock-names:
+ items:
+ - const: enable
+ - const: apb
+
+ interrupts:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ '#thermal-sensor-cells':
+ const: 0
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+ - resets
+ - '#thermal-sensor-cells'
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ sensor@50b00000 {
+ compatible = "eswin,eic7700-pvt";
+ reg = <0x50b00000 0x10000>;
+ clocks = <&clocks 244>, <&clocks 234>;
+ clock-names = "enable", "apb";
+ interrupts = <349>;
+ interrupt-parent = <&plic>;
+ label = "pvt0";
+ resets = <&reset 111>;
+ #thermal-sensor-cells = <0>;
+ };
+...
diff --git a/Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml b/Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml
index 4a52aac6be72..963aa640dc05 100644
--- a/Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml
+++ b/Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml
@@ -18,21 +18,12 @@ properties:
const: hpe,gxp-fan-ctrl
reg:
- items:
- - description: Fan controller PWM
- - description: Programmable logic
- - description: Function 2
-
- reg-names:
- items:
- - const: base
- - const: pl
- - const: fn2
+ description: Fan controller PWM
+ maxItems: 1
required:
- compatible
- reg
- - reg-names
additionalProperties: false
@@ -40,6 +31,5 @@ examples:
- |
fan-controller@1000c00 {
compatible = "hpe,gxp-fan-ctrl";
- reg = <0x1000c00 0x200>, <0xd1000000 0xff>, <0x80200000 0x100000>;
- reg-names = "base", "pl", "fn2";
+ reg = <0x1000c00 0x200>;
};
diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/adi,max20830.yaml b/Documentation/devicetree/bindings/hwmon/pmbus/adi,max20830.yaml
index 1625dd59417f..cc50a4ee44a2 100644
--- a/Documentation/devicetree/bindings/hwmon/pmbus/adi,max20830.yaml
+++ b/Documentation/devicetree/bindings/hwmon/pmbus/adi,max20830.yaml
@@ -22,7 +22,13 @@ allOf:
properties:
compatible:
- const: adi,max20830
+ oneOf:
+ - const: adi,max20830
+ - items:
+ - enum:
+ - adi,max20830c
+ - adi,max20840c
+ - const: adi,max20830
reg:
maxItems: 1
@@ -44,15 +50,32 @@ properties:
GPIO connected to the power-good status output pin.
maxItems: 1