[PATCH v3 00/11] hwmon: (amc6821) Various improvements

Guenter Roeck
2024-07-04T17:52:12Z

Cleanup and modernize the amc2821 driver.

Summary of changes:

- Stop accepting invalid pwm values.
- Improve consistency of reading vs. writing fan speed limits
- Rename fan1_div to fan1_pulses
- Add support for fan1_target and pwm1_enable mode 4
- Reorder include files, drop unnecessary ones
- Use tabs for column alignment in defines
- Use BIT() and GENMASK()
- Drop unnecessary enum chips
- Convert to use regmap
- Convert to with_info API
- Add support for pwm1_mode attribute

v3:
- Added Quentin's Reviewed-by: tag to several patches
- Change valid range of pwm1_auto_point2_pwm from [0..254] to
[0, 255]
- Various improvements of regmap conversion
- Fix register when writing pwm1_mode

v2:
- Use kstrtou8() instead of kstrtol() where possible
- Limit range of pwm1_auto_point_pwm to 0..254 in patch 1
instead of limiting it later, and do not accept invalid
values for the attribute
- Do not accept negative fan speed values
- Display fan speed and speed limit as 0 if register value is 0
(instead of 6000000), as in original code
- Only permit writing 0 (unlimited) for the maximum fan speed
- Add Reviewed-by: tags where given
- Fix definition of AMC6821_CONF1_FDRC1 in patch 7/10
- Use sign_extend32() instead of odd type cast
- Drop remaining spurious debug message in patch 9 instead of patch 10
- Add missing "select REGMAP_I2C" to Kconfig
- Change misleading variable name from 'mask' to 'mode'
- Use sysfs_emit instead of sprintf everywhere
- Add support for pwm1_mode attribute

----------------------------------------------------------------
Guenter Roeck (11):
hwmon: (amc6821) Stop accepting invalid pwm values
hwmon: (amc6821) Make reading and writing fan speed limits consistent
hwmon: (amc6821) Rename fan1_div to fan1_pulses
hwmon: (amc6821) Add support for fan1_target and pwm1_enable mode 4
hwmon: (amc2821) Reorder include files, drop unnecessary ones
hwmon: (amc6821) Use tabs for column alignment in defines
hwmon: (amc2821) Use BIT() and GENMASK()
hwmon: (amc6821) Drop unnecessary enum chips
hwmon: (amc6821) Convert to use regmap
hwmon: (amc6821) Convert to with_info API
hwmon: (amc6821) Add support for pwm1_mode attribute

Documentation/hwmon/amc6821.rst | 7 +-
drivers/hwmon/Kconfig | 1 +
drivers/hwmon/amc6821.c | 1393 +++++++++++++++++++--------------------
3 files changed, 701 insertions(+), 700 deletions(-)