On 23/02/2023 23:48, Daniel Lezcano wrote:
The exported thermal headers expose the thermal core structure while those should be private to the framework. The initial idea was the thermal sensor drivers use the thermal zone device structure pointer to pass it around from the ops to the thermal framework API like a handler. Unfortunately, different drivers are using and abusing the internals of this structure to hook the associated struct device, read the internals values, take the lock, etc ... rn order to fix this situation, let's encapsulate the structure leaking the more in the different drivers: the thermal_zone_device structure. This series revisit the existing drivers using the thermal zone private structure internals to change the access to something else. For instance, the get_temp() ops is using the tz->dev to write a debug trace. Despite the trace is not helpful, we can check the return value for the get_temp() ops in the call site and show the message in this place. With this set of changes, the thermal_zone_device is almost self-encapsulated. As usual, the acpi driver needs a more complex changes, so that will come in a separate series along with the structure moved the private core headers. Changelog: - V3: - Collected more tags - Added missing changes for ->devdata in some drivers - Added a 'type' accessor - Replaced the 'type' to 'id' changes by the 'type' accessor - Used the 'type' accessor in the drivers - V2: - Collected tags - Added missing changes for ->devdata for the tsens driver - Renamed thermal_zone_device_get_data() to thermal_zone_priv() - Added stubs when CONFIG_THERMAL is not set - Dropped hwmon change where we remove the tz->lock usage Thank you all for your comments
The series has been blocked by gsmtp because the next patch has too many Cc. I'll sort out this and resend.
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog