Hello, As suggested by Mario, I moved patch 15/18 to position 3/18. This indeed simplified all diffs. Full reordering bellow. Series based on top of pdx86/for-next branch. ~ Kurt --- v1 -> v2: 01 -> 04 02 -> 05 03 -> 01 04 -> 02 05 -> 06 06 -> 07 07 -> 08 08 -> 09 09 -> 10 10 -> 11 11 -> 12 12 -> 13 13 -> 14 14 -> 15 15 -> 03 [1/18] - Call put_device() if device_register() fails [2/18] - Set and use drvdata for every driver in these series, instead of patches 6-14 [4/18] - Renamed the `choices` callback to `probe` [15/18] - Improve error handling in amd/pmf - Improve error handling in asus-wmi [18/18] - Fix typo - Added documentation to platform_profile_ops v1: https://lore.kernel.org/platform-driver-x86/20250109150731.110799-1-kuurtb@xxxxxxxxx/ Kurt Borja (18): ACPI: platform_profile: Replace *class_dev member with class_dev ACPI: platform_profile: Let drivers set drvdata to the class device ACPI: platform_profile: Remove platform_profile_handler from callbacks ACPI: platform_profile: Add `ops` member to handlers ACPI: platform_profile: Add `probe` to platform_profile_ops platform/surface: surface_platform_profile: Use devm_platform_profile_register() platform/x86: acer-wmi: Use devm_platform_profile_register() platform/x86: amd: pmf: sps: Use devm_platform_profile_register() platform/x86: asus-wmi: Use devm_platform_profile_register() platform/x86: dell-pc: Use devm_platform_profile_register() platform/x86: ideapad-laptop: Use devm_platform_profile_register() platform/x86: hp-wmi: Use devm_platform_profile_register() platform/x86: inspur_platform_profile: Use devm_platform_profile_register() platform/x86: thinkpad_acpi: Use devm_platform_profile_register() ACPI: platform_profile: Remove platform_profile_handler from exported symbols ACPI: platform_profile: Move platform_profile_handler ACPI: platform_profile: Clean platform_profile_handler ACPI: platform_profile: Add documentation .../ABI/testing/sysfs-class-platform-profile | 44 +++++ drivers/acpi/platform_profile.c | 164 +++++++++++++----- .../surface/surface_platform_profile.c | 48 ++--- drivers/platform/x86/acer-wmi.c | 58 +++---- drivers/platform/x86/amd/pmf/core.c | 1 - drivers/platform/x86/amd/pmf/pmf.h | 3 +- drivers/platform/x86/amd/pmf/sps.c | 51 +++--- drivers/platform/x86/asus-wmi.c | 55 +++--- drivers/platform/x86/dell/alienware-wmi.c | 33 ++-- drivers/platform/x86/dell/dell-pc.c | 60 ++++--- drivers/platform/x86/hp/hp-wmi.c | 83 +++++---- drivers/platform/x86/ideapad-laptop.c | 44 +++-- .../platform/x86/inspur_platform_profile.c | 48 +++-- drivers/platform/x86/thinkpad_acpi.c | 37 ++-- include/linux/platform_profile.h | 51 ++++-- 15 files changed, 474 insertions(+), 306 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-platform-profile base-commit: 58126788aa7726c0e91de6b25e6e332fa06089ab -- 2.47.1