From: Ban Feng <kcfeng0@xxxxxxxxxxx> NCT7363Y is an I2C based hardware monitoring chip from Nuvoton. Changes since version 5: - use lower case for inline function - remove enum chips and refine code - use regmap_read_bulk() to avoid the locks - add fan speed low limit (register 0x6c, 0x6d) and alarm attributes (register 0x34, 0x35) - add regmap caching capabilities - fix "checkpatch --strict" report in FANIN_SEL - Macro argument reuse 'x' - possible side-effects Changes since version 4: - add Datasheet information and refine words in yaml and rst files - remove fan-common.yaml since it is already in hwmon-next - refine the commit messages - modify the type of returned value in some functions - refine lock/unlock in nct7363_write_pwm and accessing HVAL/LVAL registers - refine nct7363_init_chip - add range check in nct7363_present_pwm_fanin - add i2c_device_id table - add nct7362 to of_device_id and i2c_device_id table Changes since version 3: - Cherry-pick the fan-common.yaml in [1] - Fix "checkpatch --strict" report - Replace BIT_CHECK() with BIT() - Fix CamelCase defines or variables - Drop enum chips - Drop all local caching and just read values through regmap - Drop chip auto-detection since it increases boot time [1]: https://patchwork.kernel.org/project/linux-hwmon/patch/ 20240221104025.1306227-2-billy_tsai@xxxxxxxxxxxxxx/ Changes since version 2: - Cherry-pick the fan-common.yaml in [1] - Fix nct736x typo and add unevaluatedProperties [1]: https://patchwork.kernel.org/project/linux-hwmon/patch/ 20231107105025.1480561-2-billy_tsai@xxxxxxxxxxxxxx/ Changes since version 1: - Modify NCT736X(nct736x) to NCT7363Y(nct7363) - Convert to devm_hwmon_device_register_with_info API - All ID tables are next to each other and should be consistent between i2c_device_id and of_device_id - Ref. fan-common.yaml and modify properties (nuvoton,pwm-mask/ nuvoton,fanin-mask) to (pwms/tach-ch) - Convert to devm_regmap_init_i2c API - Remove unused function (watchdog timer) - Fix uninitialized symbol which is reported by kernel test robot Ban Feng (2): dt-bindings: hwmon: Add NCT7363Y documentation hwmon: Add driver for I2C chip Nuvoton NCT7363Y .../bindings/hwmon/nuvoton,nct7363.yaml | 66 +++ Documentation/hwmon/index.rst | 1 + Documentation/hwmon/nct7363.rst | 33 ++ MAINTAINERS | 8 + drivers/hwmon/Kconfig | 11 + drivers/hwmon/Makefile | 1 + drivers/hwmon/nct7363.c | 446 ++++++++++++++++++ 7 files changed, 566 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/nuvoton,nct7363.yaml create mode 100644 Documentation/hwmon/nct7363.rst create mode 100644 drivers/hwmon/nct7363.c -- 2.34.1