Dmitry Baryshkov
3a908971f7
thermal/drivers/tsens: Drop single-cell code for msm8976/msm8956
...
There is no dtsi file for msm8976 in the kernel sources. Drop the
compatibility with unofficial dtsi and remove support for handling the
single-cell calibration data on msm8976.
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://lore.kernel.org/r/20230101194034.831222-15-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
dfadb4599a
thermal/drivers/tsens: Drop single-cell code for msm8939
...
There is no dtsi file for msm8939 in the kernel sources. Drop the
compatibility with unofficial dtsi and remove support for handling the
single-cell calibration data on msm8939.
Cc: Shawn Guo <shawn.guo@linaro.org >
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Acked-by: Shawn Guo <shawn.guo@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-14-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
51d78b8b1b
thermal/drivers/tsens: Drop single-cell code for mdm9607
...
There is no dtsi file for mdm9607 in the kernel sources. Drop the
compatibility with unofficial dtsi and remove support for handling the
single-cell calibration data on mdm9607.
Cc: Konrad Dybcio <konrad.dybcio@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-13-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
913d32e278
thermal/drivers/tsens: Rework legacy calibration data parsers
...
Rework existing calibration parsing code to use simple data structure
describing data layout. This allows us to drop all the mask & shift
values, replacing them with data tables.
The code for msm8974 is not reworked, as it has separate calibration and
backup data.
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-12-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
439f2409a2
thermal/drivers/tsens: Support using nvmem cells for msm8974 calibration
...
MSM8974 has two sets of calibration data: main one and backup. Add
support for parsing both sets of calibration data from nvmem cells.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-11-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
498d245749
thermal/drivers/tsens: Support using nvmem cells for calibration data
...
Add a unified function using nvmem cells for parsing the calibration
data rather than parsing the calibration blob manually.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-10-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
903238a33c
thermal/drivers/tsens: limit num_sensors to 9 for msm8939
...
On msm8939 last (hwid=10) sensor was added in the hw revision 3.0.
Calibration data for it was placed outside of the main calibration data
blob, so it is not accessible by the current blob-parsing code.
Moreover data for the sensor's p2 is not contiguous in the fuses. This
makes it hard to use nvmem_cell API to parse calibration data in a
generic way.
Since the sensor doesn't seem to be actually used by the existing
hardware, disable the sensor for now.
Fixes: 332bc8ebab ("thermal: qcom: tsens-v0_1: Add support for MSM8939")
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Cc: Shawn Guo <shawn.guo@linaro.org >
Acked-by: Shawn Guo <shawn.guo@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-9-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
5aec3b035e
thermal/drivers/tsens: fix slope values for msm8939
...
According to the vendor kernels (msm-3.10, 3.14 and 3.18), msm8939
uses non-standard slope values for calibrating the sensors. Fill them
accordingly.
Fixes: 332bc8ebab ("thermal: qcom: tsens-v0_1: Add support for MSM8939")
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Cc: Shawn Guo <shawn.guo@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Acked-by: Shawn Guo <shawn.guo@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-8-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
a7d3006be5
thermal/drivers/tsens: Sort out msm8976 vs msm8956 data
...
Tsens driver mentions that msm8976 data should be used for both msm8976
and msm8956 SoCs. This is not quite correct, as according to the
vendor kernels, msm8976 should use standard slope values (3200), while
msm8956 really uses the slope values found in the driver.
Add separate compatibility string for msm8956, move slope value
overrides to the corresponding init function and use the standard
compute_intercept_slope() function for both platforms.
Fixes: 0e58029017 ("thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976")
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-7-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
3bf0ea99e2
thermal/drivers/tsens: Drop msm8976-specific defines
...
Drop msm8976-specific defines, which duplicate generic ones.
Fixes: 0e58029017 ("thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976")
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-6-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
ca7b70b19e
thermal/drivers/tsens: Drop unnecessary hw_ids
...
The tsens driver defaults to using hw_id equal to the index of the
sensor. Thus it is superfluous to declare such hw_id arrays. Drop such
arrays from mdm9607 and msm8976 data.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-5-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
acd31b9f22
dt-bindings: thermal: tsens: add per-sensor cells for msm8974
...
The msm8974 platform uses two sets of calibration data, add a special
case to handle both of them.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-4-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
4f4292bf12
dt-bindings: thermal: tsens: support per-sensor calibration cells
...
Allow specifying the exact calibration mode and calibration data as nvmem
cells, rather than specifying just a single calibration data blob.
Note, unlike the vendor kernel the calibration data uses hw_ids rather
than software sensor indices (to match actual tsens usage in
thermal zones).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-3-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Dmitry Baryshkov
8c14214560
dt-bindings: thermal: tsens: add msm8956 compat
...
When adding support for msm8976 it was thought that msm8956 would reuse
the same compat. However checking the vendor kernel revealed that these
two platforms use different slope values for calculating the calibration
data.
Add new compatible for the tsens on msm8956 SoC.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20230101194034.831222-2-dmitry.baryshkov@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Krzysztof Kozlowski
4b39ffa625
dt-bindings: thermal: qcom-spmi-adc-tm5: add qcom,adc-tm7
...
The qcom,adc-tm7 compatible is already used in PMK8350 so add it to the
Qualcomm PMIC Thermal Monitoring ADC. Based on downstream sources, the
new compatible for TM7 differs from older TM5 by allowing configuring
per sensor decimation, time measurement and number of sample averaging -
unlike one configuration per entire device. This was not reflected in
the bindings, therefore comment the new compatible as incomplete as it
might change and its ABI is no stable.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20230113090107.18498-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:30 +01:00
Randy Dunlap
5bc494a8ce
thermal/drivers/uniphier: Use regular comment syntax
...
Use "/*" comment for the file's initial comment since it is not
in kernel-doc format. This prevents a kernel-doc warning:
drivers/thermal/uniphier_thermal.c:26: warning: expecting prototype for uniphier_thermal.c(). Prototype was for PVTCTLEN() instead
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Cc: "Rafael J. Wysocki" <rafael@kernel.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Amit Kucheria <amitk@kernel.org >
Cc: Zhang Rui <rui.zhang@intel.com >
Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Cc: Masami Hiramatsu <mhiramat@kernel.org >
Cc: linux-pm@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20230113064507.17224-1-rdunlap@infradead.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:29 +01:00
Randy Dunlap
6d5dad7b98
thermal/drivers/rockchip: Fix kernel-doc warnings
...
Don't use "/**" to begin non-kernel-doc comments.
Convert one function description to kernel-doc format.
Prevents these kernel-doc warnings:
drivers/thermal/rockchip_thermal.c:64: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* The max sensors is two in rockchip SoCs.
drivers/thermal/rockchip_thermal.c:179: warning: expecting prototype for TSADC Sensor Register description(). Prototype was for TSADCV2_USER_CON() instead
drivers/thermal/rockchip_thermal.c:1342: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* Reset TSADC Controller, reset all tsadc registers.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Cc: "Rafael J. Wysocki" <rafael@kernel.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Amit Kucheria <amitk@kernel.org >
Cc: Zhang Rui <rui.zhang@intel.com >
Cc: Heiko Stuebner <heiko@sntech.de >
Cc: linux-pm@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
Link: https://lore.kernel.org/r/20230113064500.16103-1-rdunlap@infradead.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:29 +01:00
Randy Dunlap
3291651c0a
thermal/drivers/mtk_thermal: Fix kernel-doc function name
...
Use the correct function name in a kernel-doc comment to prevent
a warning:
drivers/thermal/mtk_thermal.c:562: warning: expecting prototype for raw_to_mcelsius(). Prototype was for raw_to_mcelsius_v1() instead
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Cc: "Rafael J. Wysocki" <rafael@kernel.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Amit Kucheria <amitk@kernel.org >
Cc: Zhang Rui <rui.zhang@intel.com >
Cc: Matthias Brugger <matthias.bgg@gmail.com >
Cc: linux-pm@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Link: https://lore.kernel.org/r/20230113064449.15061-1-rdunlap@infradead.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-16 11:22:29 +01:00
Rafael J. Wysocki
976cb655c9
Merge tag 'generic-trip-point' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux
...
Pull thermal control updates for 6.3 from Daniel Lezcano:
"- Rework a large bunch of drivers to use the generic thermal trip
structure and the opportunity to do more cleanups by removing unused
functions in the OF code (Daniel Lezcano).
- Fix some locking issues related to the generic thermal trip rework
(Johan Hovold).
- Fix a crash when requesting the critical temperature on tegra, this
fix is related to the generic trip point (Jon Hunter).
- Use strscpy() to instead of strncpy() (Xu Panda)."
* tag 'generic-trip-point' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (37 commits)
thermal/drivers/armada: Use strscpy() to instead of strncpy()
thermal/drivers/qcom: Fix lock inversion
thermal/drivers/tegra: Fix set_trip_temp() deadlock
thermal/drivers/qcom: Fix set_trip_temp() deadlock
thermal/drivers/mellanox: Use generic thermal_zone_get_trip() function
wifi: iwlwifi: Use generic thermal_zone_get_trip() function
thermal/drivers/tegra: Fix crash when getting critical temp
thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp
thermal/drivers/intel: Use generic thermal_zone_get_trip() function
thermal/intel/int340x: Replace parameter to simplify
thermal/drivers/cxgb4: Use generic thermal_zone_get_trip() function
thermal/drivers/acerhdf: Use generic thermal_zone_get_trip() function
thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid()
thermal/drivers/da9062: Use generic thermal_zone_get_trip() function
thermal/drivers/broadcom: Use generic thermal_zone_get_trip() function
thermal/drivers/rcar: Use generic thermal_zone_get_trip() function
thermal/drivers/imx: Use generic thermal_zone_get_trip() function
thermal/drivers/st: Use generic trip points
thermal/of: Remove of_thermal_get_crit_temp()
thermal/of: Remove of_thermal_set_trip_hyst()
...
2023-01-09 20:51:39 +01:00
Xu Panda
3a151494dc
thermal/drivers/armada: Use strscpy() to instead of strncpy()
...
The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL-terminated strings.
Signed-off-by: Xu Panda <xu.panda@zte.com.cn >
Signed-off-by: Yang Yang <yang.yang29@zte.com >
Link: https://lore.kernel.org/r/202212280945491860150@zte.com.cn
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org >
2023-01-06 14:14:48 +01:00
Johan Hovold
59edcd91d8
thermal/drivers/qcom: Fix lock inversion
...
The thermal-zone-device lock is held by core when setting trip points
and the driver takes its chip lock in the corresponding callback.
Fetching the thermal trip points using thermal_zone_get_trip() also
involves taking the thermal-zone-device lock, which means that the chip
lock can not be held when doing so.
Drop the chip lock temporarily during probe to avoid the lock inversion
that was detected by lockdep:
======================================================
WARNING: possible circular locking dependency detected
6.1.0-next-20221213 #122 Not tainted
------------------------------------------------------
systemd-udevd/264 is trying to acquire lock:
ffff741e444a0920 (&chip->lock){+.+.}-{3:3}, at: qpnp_tm_get_temp+0xb4/0x1b0 [qcom_spmi_temp_alarm]
but task is already holding lock:
ffff741e44341618 (&tz->lock){+.+.}-{3:3}, at: thermal_zone_device_update+0x2c/0x70
which lock already depends on the new lock.
Fixes: 78c3e2429be8 ("thermal/drivers/qcom: Use generic thermal_zone_get_trip() function")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org >
Link: https://lore.kernel.org/r/20221214131617.2447-5-johan+linaro@kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org >
2023-01-06 14:14:48 +01:00
Johan Hovold
b0b5d063d6
thermal/drivers/tegra: Fix set_trip_temp() deadlock
...
The set_trip_temp() callback is used when changing the trip temperature
through sysfs. As it is called with the thermal-zone-device lock held
it must not use thermal_zone_get_trip() directly or it will deadlock.
Fixes: 56d7b397cc29 ("thermal/drivers/tegra: Use generic thermal_zone_get_trip() function")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org >
Link: https://lore.kernel.org/r/20221214131617.2447-4-johan+linaro@kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org >
2023-01-06 14:14:48 +01:00
Johan Hovold
e6ec64f852
thermal/drivers/qcom: Fix set_trip_temp() deadlock
...
The set_trip_temp() callback is used when changing the trip temperature
through sysfs. As it is called with the thermal-zone-device lock held
it must not use thermal_zone_get_trip() directly or it will deadlock.
Fixes: 78c3e2429be8 ("thermal/drivers/qcom: Use generic thermal_zone_get_trip() function")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org >
Link: https://lore.kernel.org/r/20221214131617.2447-2-johan+linaro@kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org >
2023-01-06 14:14:48 +01:00
Daniel Lezcano
44a29a4dab
thermal/drivers/mellanox: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com >
Link: https://lore.kernel.org/r/20221014073253.3719911-2-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
3d2f20ad46
wifi: iwlwifi: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
The get_trip_temp, get_trip_hyst and get_trip_type are handled by the
get_trip_point().
The set_trip_temp() generic function does some checks which are no
longer needed in the set_trip_point() ops.
Convert ops content logic into generic trip points and register them
with the thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Kalle Valo <kvalo@kernel.org >
Acked-by: Gregory Greenman <gregory.greenman@intel.com >
Link: https://lore.kernel.org/r/20221014073253.3719911-1-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Jon Hunter
5f28ecc1e9
thermal/drivers/tegra: Fix crash when getting critical temp
...
Commit 13bea86623be ("thermal/of: Remove of_thermal_get_crit_temp()")
removed the function of_thermal_get_crit_temp() and this is causing a
NULL pointer deference crash when attempting to call the 'get_crit_temp'
function pointer because this function pointer is no longer initialised.
Fix this by replacing the call to the 'get_crit_temp' function pointer
with a call to the function thermal_zone_get_crit_temp() instead.
Fixes: 13bea86623be ("thermal/of: Remove of_thermal_get_crit_temp()")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Link: https://lore.kernel.org/r/20221010150311.40384-1-jonathanh@nvidia.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-06 14:14:48 +01:00
Daniel Lezcano
a1c306375b
thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp
...
The driver is assuming the get_critical temperature exists as it is
inherited by the thermal of ops. But this one has been removed in
favor of the generic one.
Use the generic thermal_zone_get_crit_temp() function instead
Fixes: 13bea86623be ("thermal/of: Remove of_thermal_get_crit_temp(")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com >
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
2023-01-06 14:14:48 +01:00
Daniel Lezcano
d3ecaf17b5
thermal/drivers/intel: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com >
Link: https://lore.kernel.org/r/20221003092602.1323944-30-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
0d2d586a86
thermal/intel/int340x: Replace parameter to simplify
...
In the process of replacing the get_trip_* ops by the generic trip
points, the current code has an 'override' property to add another
indirection to a different ops.
Rework this approach to prevent this indirection and make the code
ready for the generic trip points conversion.
Actually the get_temp() is different regarding the platform, so it is
pointless to add a new set of ops but just create dynamically the ops
at init time.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com >
Link: https://lore.kernel.org/r/20221003092602.1323944-29-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
9ddcb8098d
thermal/drivers/cxgb4: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Jakub Kicinski <kuba@kernel.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-28-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
a1ebf2cd50
thermal/drivers/acerhdf: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Hans de Goede <hdegoede@redhat.com >
Acked-by: Peter Kästle <peter@piie.net >
Link: https://lore.kernel.org/r/20221003092602.1323944-27-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
69cf4eaa68
thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid()
...
The macros:
ti_thermal_get_trip_value()
ti_thermal_trip_is_valid()
are unused. Remove them.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-26-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
060b39d934
thermal/drivers/da9062: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com >
Link: https://lore.kernel.org/r/20221003092602.1323944-25-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
52945c1c65
thermal/drivers/broadcom: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Link: https://lore.kernel.org/r/20221003092602.1323944-24-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
0b6a3e459e
thermal/drivers/rcar: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se >
Link: https://lore.kernel.org/r/20221003092602.1323944-23-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
30233a229f
thermal/drivers/imx: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-22-daniel.lezcano@linaro.org
2023-01-06 14:14:48 +01:00
Daniel Lezcano
28fd2cd9b3
thermal/drivers/st: Use generic trip points
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert to the generic trip points
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-21-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
aacfbf15e0
thermal/of: Remove of_thermal_get_crit_temp()
...
The generic version of of_thermal_get_crit_temp() can be used. Let's
remove this ops which is pointless.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-20-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
810245133e
thermal/of: Remove of_thermal_set_trip_hyst()
...
The thermal core is providing the generic thermal_zone_set_trip()
function which does exactly what the OF ops function is doing.
It is pointless to define our own version, just remove the ops and the
thermal_zone_set_trip() will take care of it.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-19-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
f9061f4e15
thermal/of: Remove of_thermal_is_trip_valid()
...
There is no benefit with the of_thermal_is_trip_valid() function as it
does the check the thermal_zone_get_trip() is already doing for the
sake of getting the trip point.
As all the calls have been replaced by thermal_zone_get_trip(), there
is no more users of of_thermal_is_trip_valid().
Remove the function.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-18-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
2480b02a36
thermal/of: Remove of_thermal_get_ntrips()
...
The thermal OF code uses the generic trip points to initialize the
thermal zone. Consequently thermal_zone_get_num_trips() can be used
and the of_thermal_get_ntrips() is no longer needed. Remove it.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-17-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
d5299c1b82
thermal/drivers/rcar_gen3: Use the generic function to get the number of trips
...
The thermal core framework allows to get the number of thermal trips,
use it instead of visiting the thermal core structure internals.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se >
Link: https://lore.kernel.org/r/20221003092602.1323944-16-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
eb2bb3be13
thermal/drivers/armada: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-15-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
1fa86b0a36
thermal/drivers/qcom: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Amit Kucheria <amitk@kernel.org >
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-14-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
68a306cc83
thermal/drivers/hisi: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-13-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
c7ed8cab40
thermal/drivers/uniphier: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Link: https://lore.kernel.org/r/20221003092602.1323944-12-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
735a968d2f
thermal/drivers/tegra: Use generic thermal_zone_get_trip() function
...
Replace a single call to thermal_zone_get_trip() to get a trip point
instead of calling the different ops->get_trip*
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-11-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
03ef4855a8
thermal/drivers/exynos: Replace of_thermal_is_trip_valid() by thermal_zone_get_trip()
...
The thermal_zone_get_trip() does the same check as
of_thermal_is_trip_valid(). Replace the call to
of_thermal_is_trip_valid() by thermal_zone_get_trip().
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-10-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
a3b3dd381a
thermal/drivers/exynos: of_thermal_get_ntrips()
...
The thermal core framework allows to get the number of thermal trips,
use it instead of visiting the thermal core structure internals.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-9-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00
Daniel Lezcano
ca38255e92
thermal/drivers/exynos: Use generic thermal_zone_get_trip() function
...
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.
Convert ops content logic into generic trip points and register them with the
thermal zone.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221003092602.1323944-8-daniel.lezcano@linaro.org
2023-01-06 14:14:47 +01:00