This series of changes adds fine grain control for fans. First 3 patches are clean up and preparation patches. v4 Addressed review comments: - Creation of attributes to separate file - Handle error in get/set callbacks - Fix commit description for current state - Remove casting to int by changing fif struct - Change fan_get_fps() to acpi_fan_get_fst() - Fallback to old method for invalid control value - Remove logic to take reminder to adjust to 100 - Add else if for step size sanity checks v3 Added fine_grain_control attribute. v2-update Change log is missed for v2. v2 Fix for build issue as reported by Reported-by: kernel test robot <lkp@xxxxxxxxx> Srinivas Pandruvada (6): ACPI / fan: Fix error reporting to user space ACPI / fan: Separate file for attributes creation ACPI / fan: Optimize struct acpi_fan_fif ACPI / fan: Properly handle fine grain control ACPI / fan: Add additional attributes for fine grain control Documentation/admin-guide/acpi: Add documentation for fine grain control .../acpi/fan_performance_states.rst | 28 +++ drivers/acpi/Makefile | 3 + drivers/acpi/fan.h | 44 ++++ drivers/acpi/fan_attr.c | 137 ++++++++++++ drivers/acpi/{fan.c => fan_core.c} | 204 ++++++++---------- 5 files changed, 298 insertions(+), 118 deletions(-) create mode 100644 drivers/acpi/fan_attr.c rename drivers/acpi/{fan.c => fan_core.c} (75%) -- 2.34.1