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 v4: - Added Quentin's Reviewed-by: tag to patch 11/11 - Various improvements in regmap conversion see patch 9/11 for details - Fixed subject of two patches 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: (amc6821) Reorder include files, drop unnecessary ones hwmon: (amc6821) Use tabs for column alignment in defines hwmon: (amc6821) 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 | 1401 ++++++++++++++++++++------------------- 3 files changed, 708 insertions(+), 701 deletions(-)