[PATCH v3 0/2] hwmon: Add Murata D1U74T-W PSU driver
From: Abdurrahman Hussain
Date: Wed May 13 2026 - 06:33:51 EST
This series adds a PMBus driver for the Murata D1U74T-W AC/DC power
supply unit, used in some Open Compute Project platforms.
The PSU is PMBus-compliant and uses the linear data format. The driver
exposes:
- input/output voltage, current and power telemetry,
- three temperature sensors,
- dual fan tachometer monitoring,
through the standard hwmon/pmbus sysfs interface. Probe verifies the
PMBUS_MFR_ID and PMBUS_MFR_MODEL fields before binding so the driver
only attaches to actual D1U74T-W hardware.
Patch 1 adds the compatible string to trivial-devices.yaml. The
binding declares only compatible and reg (no regulators, no supplies),
so a standalone binding file is not warranted.
Patch 2 adds the driver, hwmon documentation, Kconfig/Makefile entries
and MAINTAINERS section.
Signed-off-by: Abdurrahman Hussain <abdurrahman@xxxxxxxxxx>
---
Changes in v3 (addresses the sashiko automated review):
- Patch 2: move the new MAINTAINERS entry into the correct
alphabetical position in the M section (between MULTIPLEXER
SUBSYSTEM and MUSB MULTIPOINT) instead of leaving it wedged
between CRPS DRIVER and CRYPTO API.
- Patch 2: rewrite the sysfs-entries table in
Documentation/hwmon/d1u74t.rst to match the attributes the chip
actually exposes. The previous table listed the PMBus-spec
maximal set (crit/lcrit/max/min for in1/in2, crit for temp,
max/max_alarm for curr1, etc.) but the chip only implements a
subset; pmbus_core consequently only creates a subset of attrs.
Cross-checked against two D1U74T-W units, both expose the same
attribute set. Also fixes the in2_* descriptions that incorrectly
referred to "input voltage" rather than output voltage (in2 is
vout1).
- Patch 2: use dev_err_probe() for the MFR_ID-mismatch error path
in d1u74t_probe(), matching the surrounding error-handling style.
- Patch 2: gate the MFR_MODEL strncmp() on rc >= 8 so a short
block-read response cannot make the comparison read stale bytes
left over from the previous MFR_ID read into the same buffer.
- Patch 1 is unchanged from v2.
- Link to v2: https://patch.msgid.link/20260512-d1u74t-v2-0-431d00fbb1c4@xxxxxxxxxx
Changes in v2:
- Patch 1: move the binding into trivial-devices.yaml rather than
carrying a standalone murata,d1u74t.yaml. The device only declares
compatible and reg, with no regulators or supplies, so the
standalone binding was not warranted (Conor Dooley review).
- Patch 2: fix the d1u74t.rst title underline (was 18 '=' chars under
a 20-char title, docutils warning from the kernel test robot).
- Link to v1: https://patch.msgid.link/20260511-d1u74t-v1-0-623c2bc1532a@xxxxxxxxxx
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Abdurrahman Hussain <abdurrahman@xxxxxxxxxx>
To: Guenter Roeck <linux@xxxxxxxxxxxx>
To: Jonathan Corbet <corbet@xxxxxxx>
To: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-hwmon@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
---
Abdurrahman Hussain (2):
dt-bindings: trivial-devices: Add Murata D1U74T PSU
hwmon: (pmbus/d1u74t) Add Murata D1U74T PSU driver
.../devicetree/bindings/trivial-devices.yaml | 2 +
Documentation/hwmon/d1u74t.rst | 81 ++++++++++++++++++++
Documentation/hwmon/index.rst | 1 +
MAINTAINERS | 7 ++
drivers/hwmon/pmbus/Kconfig | 9 +++
drivers/hwmon/pmbus/Makefile | 1 +
drivers/hwmon/pmbus/d1u74t.c | 86 ++++++++++++++++++++++
7 files changed, 187 insertions(+)
---
base-commit: 5d6919055dec134de3c40167a490f33c74c12581
change-id: 20260511-d1u74t-c0cba8f1c344
Best regards,
--
Abdurrahman Hussain <abdurrahman@xxxxxxxxxx>