• Linus Torvalds's avatar
    Merge tag 'thermal-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7f73ba68
    Linus Torvalds authored
    Pull thermal control updates from Rafael Wysocki:
     "These add support for the D1/T113s THS controller to the sun8i driver
      and a DT-based mechanism for platforms to indicate a preference to
      reboot (instead of shutting down) on crossing a critical trip point,
      fix issues, make other improvements (in the IPA governor, the Intel
      HFI driver, the exynos driver and the thermal netlink interface among
      other places) and clean up code.
    
      One long-standing issue addressed here is that trip point crossing
      notifications sent to user space might be unreliable due to the
      incorrect handling of trip point hysteresis in the thermal core:
      multiple notifications might be sent for the same event or there might
      be events without any notification at all.
    
      Specifics:
    
       - Add dynamic thresholds for trip point crossing detection to prevent
         trip point crossing notifications from being sent at incorrect
         times or not at all in some cases (Rafael J. Wysocki)
    
       - Fix synchronization issues related to the resume of thermal zones
         during a system-wide resume and allow thermal zones to be resumed
         concurrently (Rafael J. Wysocki)
    
       - Modify the thermal zone unregistration to wait for the given zone
         to go away completely before returning to the caller and rework the
         sysfs interface for trip points on top of that (Rafael J. Wysocki)
    
       - Fix a possible NULL pointer dereference in thermal zone
         registration error path (Rafael J. Wysocki)
    
       - Clean up the IPA thermal governor and modify it (with the help of a
         new governor callback) to avoid allocating and freeing memory every
         time its throttling callback is invoked (Lukasz Luba)
    
       - Make the IPA thermal governor handle thermal instance weight
         changes via sysfs correctly (Lukasz Luba)
    
       - Update the thermal netlink code to avoid sending messages if there
         are no recipients (Stanislaw Gruszka)
    
       - Convert Mediatek Thermal to the json-schema (Rafał Miłecki)
    
       - Fix thermal DT bindings issue on Loongson (Binbin Zhou)
    
       - Fix returning NULL instead of -ENODEV during thermal probe on
         Loogsoon (Binbin Zhou)
    
       - Add thermal DT binding for tsens on the SM8650 platform (Neil
         Armstrong)
    
       - Add reboot on the critical trip point crossing option feature
         (Fabio Estevam)
    
       - Use DEFINE_SIMPLE_DEV_PM_OPS do define PM functions for thermal
         suspend/resume on AmLogic (Uwe Kleine-König)
    
       - Add D1/T113s THS controller support to the Sun8i thermal control
         driver (Maxim Kiselev)
    
       - Fix example in the thermal DT binding for QCom SPMI (Johan Hovold)
    
       - Fix compilation warning in the tmon utility (Florian Eckert)
    
       - Add support for interrupt-based thermal configuration on Exynos
         along with a set of related cleanups (Mateusz Majewski)
    
       - Make the Intel HFI thermal driver enable an HFI instance (eg.
         processor package) from its first online CPU and disable it when
         the last CPU in it goes offline (Ricardo Neri)
    
       - Fix a kernel-doc warning and a spello in the cpuidle_cooling
         thermal driver (Randy Dunlap)
    
       - Move the .get_temp() thermal zone callback presence check to the
         thermal zone registration code (Daniel Lezcano)
    
       - Use the for_each_trip() macro for trip points table walks in a few
         places in the thermal core (Rafael J. Wysocki)
    
       - Make all trip point updates (via sysfs as well as from the platform
         firmware) trigger trip change notifications (Rafael J. Wysocki)
    
       - Drop redundant code from the thermal core and make one function in
         it take a const pointer argument (Rafael J. Wysocki)"
    
    * tag 'thermal-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
      thermal: trip: Constify thermal zone argument of thermal_zone_trip_id()
      thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline
      thermal: intel: hfi: Enable an HFI instance from its first online CPU
      thermal: intel: hfi: Refactor enabling code into helper functions
      thermal/drivers/exynos: Use set_trips ops
      thermal/drivers/exynos: Use BIT wherever possible
      thermal/drivers/exynos: Split initialization of TMU and the thermal zone
      thermal/drivers/exynos: Stop using the threshold mechanism on Exynos 4210
      thermal/drivers/exynos: Simplify regulator (de)initialization
      thermal/drivers/exynos: Handle devm_regulator_get_optional return value correctly
      thermal/drivers/exynos: Wwitch from workqueue-driven interrupt handling to threaded interrupts
      thermal/drivers/exynos: Drop id field
      thermal/drivers/exynos: Remove an unnecessary field description
      tools/thermal/tmon: Fix compilation warning for wrong format
      dt-bindings: thermal: qcom-spmi-adc-tm5/hc: Clean up examples
      dt-bindings: thermal: qcom-spmi-adc-tm5/hc: Fix example node names
      thermal/drivers/sun8i: Add D1/T113s THS controller support
      dt-bindings: thermal: sun8i: Add binding for D1/T113s THS controller
      thermal: amlogic: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
      thermal: amlogic: Make amlogic_thermal_disable() return void
      ...
    7f73ba68
thermal.c 28 KB