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