mbox series

[0/2] platform/x86: thinkpad_acpi: Enable devres for subdriver .init callbacks

Message ID 20250215000302.19753-1-kuurtb@gmail.com (mailing list archive)
Headers show
Series platform/x86: thinkpad_acpi: Enable devres for subdriver .init callbacks | expand

Message

Kurt Borja Feb. 15, 2025, 12:03 a.m. UTC
Hi all,

It was reported by Mark [1] that if subdrivers used devres, the
tpacpi_pdev wouldn't bind successfully to the device, thus failing to
create the various sysfs attributes that this driver exposes.

The original problem is already fixed, however a complete solution was
due.

The approach I took is to let the driver core manage the lifetimes of
the subdrivers (details in Patch [1/2]). This enables devres for
subdrivers and IMO makes the code more maintainable (because of the
lifetime gurantees).

This was compile tested only, because (unfortunately) I don't own a
thinkpad so some testing is absolutely required, as this is an extremely
intricate driver.

Based on top of the for-next branch.

~ Kurt
---
[1] https://lore.kernel.org/platform-driver-x86/20250208091438.5972-1-mpearson-lenovo@squebb.ca/#t

Kurt Borja (2):
  platform/x86: thinkpad_acpi: Move subdriver initialization to
    tpacpi_pdriver's probe.
  platform/x86: thinkpad_acpi: Move HWMON initialization to
    tpacpi_hwmon_pdriver's probe

 drivers/platform/x86/thinkpad_acpi.c | 176 ++++++++++++---------------
 1 file changed, 77 insertions(+), 99 deletions(-)


base-commit: d497c47481f8e8f13e3191c9a707ed942d3bb3d7