[PATCH v1 00/18] Thermal: Part 1 - Introduce new structs and registration

From: AngeloGioacchino Del Regno
Date: Tue Jan 30 2024 - 06:13:43 EST


This series is a preparation for a bigger cleanup that will be split in
three parts in order to avoid immutable branches on multiple subsystems,
as in other parts of this series there will be changes in:
- drivers/acpi
- drivers/platform/x86
- drivers/power/supply
- drivers/net/wireless
- drivers/net/ethernet

This is the first part which adds new structures and starts reorganizing
struct members around, plus, this migrates all of the thermal drivers
found in drivers/thermal/ to the new thermal_zone_device_register()
function, and advertises that the old registration functions are
deprecated and will be removed.

The reorganization is supposed to be complete (or mostly) but...
- struct thermal_zone_platform_params has a temporary name:
this is done in order to avoid compile time failures for
the drivers outside of drivers/thermal before migrating
them to thermal_zone_device_params/thermal_zone_device_register();
- struct thermal_zone_params temporarily has two duplicated members,
governor_name and no_hwmon;

Part 2 of this topic will migrate all drivers that are external to
drivers/thermal to thermal_zone_device_register(); I will send that
part only after part 1 is confirmed to be acceptable, as otherwise
I'd be spamming people for no reason :-)

After all drivers will be migrated to thermal_zone_device_register(),
we won't have to care about changing anything outside of drivers/thermal
to finish this set of cleanups/changes (and no immutable branches needed)
and this means that...
Part 3 of this topic will contain the following changes:
- thermal_zone_device_register_with_trips() will be removed
- thermal_tripless_zone_device_register() will be removed
- thermal_zone_params will be renamed to thermal_governor_ipa_params
- governor_name, no_hwmon members will be removed
- thermal_zone_platform_params will be renamed to thermal_zone_params
- Removal of the THERMAL_NAME_LENGTH limitation for `type`

More scheduled changes, which should end up in part 3 (at least that's
my intention), or eventually entirely after this cleanup topic, include:
- Introduction of Thermal Zone names
- Disambiguation of TZ name and type
- Addition of `thermal-zones`, `thermal-zone-names` parsing for
devicetrees

.. Summarizing ...

Part 1:
- Reorganize structures (some temporary names/leftovers)
- New registration function, deprecation of old ones
- Migration of drivers/thermal drivers to new registration

Part 2:
- Migration of drivers in other subsystems to new thermal registration

Part 3:
- Remove the two leftovers in thermal.h
- Rename structures with proper, final names
- Everything else, anyway.


Cheers,
Angelo

AngeloGioacchino Del Regno (18):
thermal: core: Change governor name to const char pointer
thermal: Add new structures and thermal_zone_device_register()
thermal: Directly use thermal_zone_platform_params for
thermal_zone_device
thermal/drivers/da9062: Migrate to thermal_zone_device_register()
thermal/drivers/imx: Migrate to thermal_zone_device_register()
thermal/drivers/rcar: Migrate to thermal_zone_device_register()
thermal/drivers/st: Migrate to thermal_zone_device_register()
thermal: intel: pch_thermal: Migrate to thermal_zone_device_register()
thermal: intel: quark_dts: Migrate to thermal_zone_device_register()
thermal: intel: soc_dts_iosf: Migrate to
thermal_zone_device_register()
thermal: intel: int340x: Migrate to thermal_zone_device_register()
thermal: int340x: processor: Migrate to thermal_zone_device_register()
thermal: intel: x86_pkg_temp: Migrate to
thermal_zone_device_register()
thermal/drivers/armada: Migrate to thermal_zone_device_register()
thermal/drivers/dove: Migrate to thermal_zone_device_register()
thermal/drivers/kirkwood: Migrate to thermal_zone_device_register()
thermal/drivers/spear: Migrate to thermal_zone_device_register()
thermal/drivers/int340x: Migrate to thermal_zone_device_register()

drivers/thermal/armada_thermal.c | 12 +-
drivers/thermal/da9062-thermal.c | 16 +-
drivers/thermal/dove_thermal.c | 10 +-
drivers/thermal/gov_power_allocator.c | 38 ++--
drivers/thermal/gov_user_space.c | 2 +-
drivers/thermal/imx_thermal.c | 21 +-
.../intel/int340x_thermal/int3400_thermal.c | 20 +-
.../int340x_thermal/int340x_thermal_zone.c | 28 +--
.../processor_thermal_device_pci.c | 26 ++-
drivers/thermal/intel/intel_pch_thermal.c | 12 +-
.../thermal/intel/intel_quark_dts_thermal.c | 23 +-
drivers/thermal/intel/intel_soc_dts_iosf.c | 24 ++-
drivers/thermal/intel/x86_pkg_temp_thermal.c | 22 +-
drivers/thermal/kirkwood_thermal.c | 10 +-
drivers/thermal/qcom/tsens.c | 4 +-
drivers/thermal/rcar_thermal.c | 15 +-
drivers/thermal/spear_thermal.c | 10 +-
drivers/thermal/st/st_thermal.c | 15 +-
drivers/thermal/thermal_core.c | 201 +++++++++++-------
drivers/thermal/thermal_core.h | 6 +-
drivers/thermal/thermal_helpers.c | 22 +-
drivers/thermal/thermal_hwmon.c | 8 +-
drivers/thermal/thermal_of.c | 12 +-
drivers/thermal/thermal_sysfs.c | 64 +++---
drivers/thermal/thermal_trace.h | 8 +-
drivers/thermal/thermal_trip.c | 14 +-
include/linux/thermal.h | 87 ++++++--
27 files changed, 461 insertions(+), 269 deletions(-)

--
2.43.0