Re: [PATCH v1 07/10] ACPI: thermal: Use cooling device parent for thermal zone binding
From: Andy Shevchenko
Date: Fri Sep 11 2026 - 12:43:12 EST
On Fri, Sep 11, 2026 at 03:05:07PM +0200, Rafael J. Wysocki wrote:
> The ACPI thermal zone .should_bind() callback function,
> acpi_thermal_should_bind_cdev(), expects the given cooling device's
> devdata to point to an ACPI device object whose ACPI handle should be
> compared with ACPI handles in a list associated with the given trip
> point. That is not particularly straightforward and it effectively
> requires the drivers of ACPI cooling devices to populate the devdata
> with addresses of the ACPI companions of the devices they bind to.
> Consequently, the devdata cannot be used by the driver for its own
> needs which is its intended purpose.
>
> That can be overcome with the help of the observation that the
> ACPI device objects to be matched against the lists of ACPI handles
> associated with trip points are in fact the ACPI companions of the
> parents of cooling devices. Thus instead of using the given cooling
> device's devdata, it is sufficient to obtain the ACPI handle of its
> parent and compare that ACPI handle with the ones in the list
> associated with the given trip point.
...
> + parent_handle = ACPI_HANDLE(parent);
>
> - if (acpi_fetch_acpi_dev(handle) == cdev_adev)
> + for (i = 0; i < acpi_trip->devices.count; i++) {
> + if (acpi_trip->devices.handles[i] == parent_handle)
device_match_acpi_handle() ?
if (device_match_acpi_handle(parent, acpi_trip->devices.handles[i]))
> return true;
> }
--
With Best Regards,
Andy Shevchenko