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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Tue Jan 30 03:12:32 PST 2024


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




More information about the linux-arm-kernel mailing list