Message ID | 20240507-cros_ec-hwmon-v2-0-1222c5fca0f7@weissschuh.net (mailing list archive) |
---|---|
Headers | show |
Series | ChromeOS Embedded controller hwmon driver | expand |
On 5/7/2024 11:29, Thomas Weißschuh wrote: > Add a hwmon driver that reports fan and temperature readings from the > ChromeOS Embedded controller. > > There was an earlier effort in 2017 to add such a driver [0], but there > was no followup after v1. > The new driver is complete reimplementation based on newer APIs and with > more features (temp sensor names). > > It only works on LPC-connected ECs, as only those implement direct > memory-map access. > For other busses the data would need to be read with a command. > Adding some helpers was discussed in the previous patchset [1]. > > The EC protocols also support reading and writing fan curves but that is > not implemented. > > Tested on a Framework 13 AMD, Firmware 3.05. > > [0] https://lore.kernel.org/all/1491602410-31518-1-git-send-email-moritz.fischer@ettus.com/ > [1] https://lore.kernel.org/all/ac61bfca-bfa0-143b-c9ca-365b8026ce8d@roeck-us.net/ > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > --- > Changes in v2: > - drop unnecessary range checks (Guenter) > - only validate thermal_version during probing > - reorder some variable declarations > - validate thermal_version directly in cros_ec_hwmon_probe (Mario) > - drop return value from probe_temp_sensors as it can't fail anymore > - fail with -ENODEV if cmd_readmem is missing to avoid spurious warnings > - Link to v1: https://lore.kernel.org/r/20240507-cros_ec-hwmon-v1-0-2c47c5ce8e85@weissschuh.net > > --- > Thomas Weißschuh (2): > hwmon: add ChromeOS EC driver > mfd: cros_ec: Register hardware monitoring subdevice > > Documentation/hwmon/cros_ec_hwmon.rst | 26 ++++ > Documentation/hwmon/index.rst | 1 + > MAINTAINERS | 8 + > drivers/hwmon/Kconfig | 11 ++ > drivers/hwmon/Makefile | 1 + > drivers/hwmon/cros_ec_hwmon.c | 269 ++++++++++++++++++++++++++++++++++ > drivers/mfd/cros_ec_dev.c | 1 + > 7 files changed, 317 insertions(+) > --- > base-commit: 2fbe479c0024e1c6b992184a799055e19932aa48 > change-id: 20240506-cros_ec-hwmon-24634b07cf6f > > Best regards, That was fast! The series looks good to me, thanks. Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Add a hwmon driver that reports fan and temperature readings from the ChromeOS Embedded controller. There was an earlier effort in 2017 to add such a driver [0], but there was no followup after v1. The new driver is complete reimplementation based on newer APIs and with more features (temp sensor names). It only works on LPC-connected ECs, as only those implement direct memory-map access. For other busses the data would need to be read with a command. Adding some helpers was discussed in the previous patchset [1]. The EC protocols also support reading and writing fan curves but that is not implemented. Tested on a Framework 13 AMD, Firmware 3.05. [0] https://lore.kernel.org/all/1491602410-31518-1-git-send-email-moritz.fischer@ettus.com/ [1] https://lore.kernel.org/all/ac61bfca-bfa0-143b-c9ca-365b8026ce8d@roeck-us.net/ Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> --- Changes in v2: - drop unnecessary range checks (Guenter) - only validate thermal_version during probing - reorder some variable declarations - validate thermal_version directly in cros_ec_hwmon_probe (Mario) - drop return value from probe_temp_sensors as it can't fail anymore - fail with -ENODEV if cmd_readmem is missing to avoid spurious warnings - Link to v1: https://lore.kernel.org/r/20240507-cros_ec-hwmon-v1-0-2c47c5ce8e85@weissschuh.net --- Thomas Weißschuh (2): hwmon: add ChromeOS EC driver mfd: cros_ec: Register hardware monitoring subdevice Documentation/hwmon/cros_ec_hwmon.rst | 26 ++++ Documentation/hwmon/index.rst | 1 + MAINTAINERS | 8 + drivers/hwmon/Kconfig | 11 ++ drivers/hwmon/Makefile | 1 + drivers/hwmon/cros_ec_hwmon.c | 269 ++++++++++++++++++++++++++++++++++ drivers/mfd/cros_ec_dev.c | 1 + 7 files changed, 317 insertions(+) --- base-commit: 2fbe479c0024e1c6b992184a799055e19932aa48 change-id: 20240506-cros_ec-hwmon-24634b07cf6f Best regards,