This patchset introduces the Qualcomm Cooling Driver (aka Qualcomm Thermal Mitigation Driver) and the related support code (dt-binding, MAINTAINER file etc). Several Qualcomm Snapdragon SoCs have Thermal Mitigation Devices (TMDs) present on various remote subsystem(s) (for e.g. the Compute DSP, aka cDSP), which can be used for several mitigations for remote subsystem(s), including remote processor mitigation, rail voltage restriction etc. Here we introduce the Qualcomm Cooling Driver which is based on the kernel thermal driver framework and also employs the kernel QMI interface to send the message to remote subsystem(s). At the very top-level, the dts is supposed to describe a TMD node, which should further represent the remote subsystem(s) present on the SoC and further each child of a subsystem should represent the separate cooling devices available on the remote subsystem. Note that this patchset is targeted for the 'linux-pm' tree and the dts patchset/changes targeted for 'linux-arm-msm' tree will be sent as a separate patchset. This patchset is based on the CONFIG_QCOM_THERMAL related fix sent via [1]. Otherwise the latest changes from 'linux-next/master' are used to rebase the patchset. [1]. https://lore.kernel.org/all/CAA8EJpoM5nW=pVJB4zy4Jh9Q3gE4KOju2QVy_WtmUokKMyXtuw@xxxxxxxxxxxxxx/T/#m4e2b765e68e3123b3c0e28c806409dae4b988432 Cc: andersson@xxxxxxxxxx Cc: robh@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: rafael@xxxxxxxxxx Bhupesh Sharma (4): thermal: qcom: qmi_cooling: Add skeletal qmi cooling driver thermal: qcom: Add Kconfig entry & compilation support for qmi cooling driver dt-bindings: thermal: Add qcom,qmi-tmd-device and qcom,tmd-device yaml bindings MAINTAINERS: Add entry for Qualcomm Cooling Driver .../bindings/thermal/qcom,qmi-tmd-device.yaml | 78 +++ .../bindings/thermal/qcom,tmd-device.yaml | 122 ++++ MAINTAINERS | 10 + drivers/thermal/qcom/Kconfig | 4 + drivers/thermal/qcom/Makefile | 2 + drivers/thermal/qcom/qmi_cooling/Kconfig | 14 + drivers/thermal/qcom/qmi_cooling/Makefile | 3 + .../qcom/qmi_cooling/qcom_qmi_cooling.c | 632 ++++++++++++++++++ .../qcom/qmi_cooling/qcom_tmd_services.c | 352 ++++++++++ .../qcom/qmi_cooling/qcom_tmd_services.h | 120 ++++ include/dt-bindings/thermal/qcom,tmd.h | 14 + 11 files changed, 1351 insertions(+) create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-tmd-device.yaml create mode 100644 Documentation/devicetree/bindings/thermal/qcom,tmd-device.yaml create mode 100644 drivers/thermal/qcom/qmi_cooling/Kconfig create mode 100644 drivers/thermal/qcom/qmi_cooling/Makefile create mode 100644 drivers/thermal/qcom/qmi_cooling/qcom_qmi_cooling.c create mode 100644 drivers/thermal/qcom/qmi_cooling/qcom_tmd_services.c create mode 100644 drivers/thermal/qcom/qmi_cooling/qcom_tmd_services.h create mode 100644 include/dt-bindings/thermal/qcom,tmd.h -- 2.37.1