<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/thermal/qcom/tsens.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2025-05-16T10:50:01Z</updated>
<entry>
<title>thermal/drivers/qcom/tsens: Add support for IPQ5018 tsens</title>
<updated>2025-05-16T10:50:01Z</updated>
<author>
<name>Sricharan Ramabadhran</name>
<email>quic_srichara@quicinc.com</email>
</author>
<published>2025-02-28T05:11:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=04b31cc53fe0df0e87a37d18a3c0363d7dee218f'/>
<id>urn:sha1:04b31cc53fe0df0e87a37d18a3c0363d7dee218f</id>
<content type='text'>
IPQ5018 has tsens IP V1.0, 5 sensors of which 4 are in use and 1
interrupt. The IP does not have a RPM, hence use init routine for
tsens v1.0 without RPM which does not early enable.

Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Signed-off-by: Sricharan Ramabadhran &lt;quic_srichara@quicinc.com&gt;
Signed-off-by: George Moussalem &lt;george.moussalem@outlook.com&gt;
Link: https://lore.kernel.org/r/DS7PR19MB8883BD0E36C08DD1D03CE1CB9DCC2@DS7PR19MB8883.namprd19.prod.outlook.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/qcom/tsens: Add support for tsens v1 without RPM</title>
<updated>2025-05-16T10:50:01Z</updated>
<author>
<name>George Moussalem</name>
<email>george.moussalem@outlook.com</email>
</author>
<published>2025-02-28T05:11:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=19f9b02ebc8fe3babefbe76a37c74c5f4c174de1'/>
<id>urn:sha1:19f9b02ebc8fe3babefbe76a37c74c5f4c174de1</id>
<content type='text'>
Adding generic support for SoCs with tsens v1.0 IP with no RPM.
Due to lack of RPM, tsens has to be reset and enabled in the driver
init. SoCs can have support for more sensors than those which will
actually be enabled. As such, init will only enable those explicitly
added to the hw_ids array.

Co-developed-by: Sricharan Ramabadhran &lt;quic_srichara@quicinc.com&gt;
Signed-off-by: Sricharan Ramabadhran &lt;quic_srichara@quicinc.com&gt;
Signed-off-by: George Moussalem &lt;george.moussalem@outlook.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Link: https://lore.kernel.org/r/DS7PR19MB8883C5D7974C7735E23923769DCC2@DS7PR19MB8883.namprd19.prod.outlook.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/qcom/tsens: Update conditions to strictly evaluate for IP v2+</title>
<updated>2025-05-16T10:50:01Z</updated>
<author>
<name>George Moussalem</name>
<email>george.moussalem@outlook.com</email>
</author>
<published>2025-02-28T05:11:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e3f90f167a49902cda2408f7e91cca0dcfd5040a'/>
<id>urn:sha1:e3f90f167a49902cda2408f7e91cca0dcfd5040a</id>
<content type='text'>
TSENS v2.0+ leverage features not available to prior versions such as
updated interrupts init routine, masked interrupts, and watchdog.
Currently, the checks in place evaluate whether the IP version is greater
than v1 which invalidates when updates to v1 or v1 minor versions are
implemented. As such, update the conditional statements to strictly
evaluate whether the version is greater than or equal to v2 (inclusive).

Signed-off-by: George Moussalem &lt;george.moussalem@outlook.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Amit Kucheria &lt;amitk@kernel.org&gt;
Link: https://lore.kernel.org/r/DS7PR19MB8883434CAA053648E22AA8AC9DCC2@DS7PR19MB8883.namprd19.prod.outlook.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/tsens: Add TSENS enable and calibration support for V2</title>
<updated>2025-03-25T19:52:03Z</updated>
<author>
<name>Praveenkumar I</name>
<email>quic_ipkumar@quicinc.com</email>
</author>
<published>2025-02-10T12:04:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ff0cf0ab9073727a67f9902dba77a758654ae895'/>
<id>urn:sha1:ff0cf0ab9073727a67f9902dba77a758654ae895</id>
<content type='text'>
SoCs without RPM need to enable sensors and calibrate them from the kernel.
The IPQ5332 and IPQ5424 use the tsens v2.3.3 IP and do not have RPM.
Therefore, add a new calibration function for V2, as the tsens.c calib
function only supports V1. Also add new feature_config, ops and data for
IPQ5332, IPQ5424.

Although the TSENS IP supports 16 sensors, not all are used. The hw_id
is used to enable the relevant sensors.

Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Signed-off-by: Praveenkumar I &lt;quic_ipkumar@quicinc.com&gt;
Signed-off-by: Manikanta Mylavarapu &lt;quic_mmanikan@quicinc.com&gt;
Link: https://lore.kernel.org/r/20250210120436.821684-3-quic_mmanikan@quicinc.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/qcom/tsens-v1: Add support for MSM8937 tsens</title>
<updated>2024-11-13T15:21:18Z</updated>
<author>
<name>Barnabás Czémán</name>
<email>barnabas.czeman@mainlining.org</email>
</author>
<published>2024-11-13T15:11:46Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e2ffb6c3a40ee714160e35e61f0a984028b5d550'/>
<id>urn:sha1:e2ffb6c3a40ee714160e35e61f0a984028b5d550</id>
<content type='text'>
Add support for tsens v1.4 block what can be found in
MSM8937 and MSM8917.

Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Signed-off-by: Barnabás Czémán &lt;barnabas.czeman@mainlining.org&gt;
Link: https://lore.kernel.org/r/20241113-msm8917-v6-5-c348fb599fef@mainlining.org
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal: Switch back to struct platform_driver::remove()</title>
<updated>2024-11-13T15:17:57Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@baylibre.com</email>
</author>
<published>2024-10-19T16:34:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dd64594ca2c5b952570c3b885763b93ebe26fe9a'/>
<id>urn:sha1:dd64594ca2c5b952570c3b885763b93ebe26fe9a</id>
<content type='text'>
After commit 0edb555a65d1 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.

Convert all platform drivers below drivers/thermal to use .remove(), with
the eventual goal to drop struct platform_driver::remove_new(). As
.remove() and .remove_new() have the same prototypes, conversion is done
by just changing the structure member name in the driver initializer.

On the way make a few whitespace changes to make indention consistent.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@baylibre.com&gt;
Link: https://lore.kernel.org/r/20241019163412.304422-2-u.kleine-koenig@baylibre.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/qcom-tsens: Simplify with dev_err_probe()</title>
<updated>2024-07-15T11:31:41Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2024-07-09T12:59:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bc55630c657a7f81e65b6993e8113f453cdcef4b'/>
<id>urn:sha1:bc55630c657a7f81e65b6993e8113f453cdcef4b</id>
<content type='text'>
Error handling in probe() can be a bit simpler with dev_err_probe().

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Reviewed-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
Link: https://lore.kernel.org/r/20240709-thermal-probe-v1-10-241644e2b6e0@linaro.org
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/tsens: Fix null pointer dereference</title>
<updated>2024-04-23T10:40:29Z</updated>
<author>
<name>Aleksandr Mishin</name>
<email>amishin@t-argos.ru</email>
</author>
<published>2024-04-11T11:40:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d998ddc86a27c92140b9f7984ff41e3d1d07a48f'/>
<id>urn:sha1:d998ddc86a27c92140b9f7984ff41e3d1d07a48f</id>
<content type='text'>
compute_intercept_slope() is called from calibrate_8960() (in tsens-8960.c)
as compute_intercept_slope(priv, p1, NULL, ONE_PT_CALIB) which lead to null
pointer dereference (if DEBUG or DYNAMIC_DEBUG set).
Fix this bug by adding null pointer check.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: dfc1193d4dbd ("thermal/drivers/tsens: Replace custom 8960 apis with generic apis")
Signed-off-by: Aleksandr Mishin &lt;amishin@t-argos.ru&gt;
Reviewed-by: Konrad Dybcio &lt;konrad.dybcio@linaro.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20240411114021.12203-1-amishin@t-argos.ru
</content>
</entry>
<entry>
<title>thermal/drivers/tsens: Add suspend to RAM support for tsens</title>
<updated>2024-04-23T10:40:29Z</updated>
<author>
<name>Priyansh Jain</name>
<email>quic_priyjain@quicinc.com</email>
</author>
<published>2024-03-28T05:02:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=34b9a92b6850279145430af181d2d2dedb98cc76'/>
<id>urn:sha1:34b9a92b6850279145430af181d2d2dedb98cc76</id>
<content type='text'>
As part of suspend to RAM, tsens hardware will be turned off.
While resume callback, re-initialize tsens hardware.

Signed-off-by: Priyansh Jain &lt;quic_priyjain@quicinc.com&gt;
Acked-by: Amit Kucheria &lt;amitk@kernel.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20240328050230.31770-1-quic_priyjain@quicinc.com
</content>
</entry>
<entry>
<title>thermal: tsens: Convert to platform remove callback returning void</title>
<updated>2023-09-29T10:34:17Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2023-09-27T19:37:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2128ba4639e37f39c73e2e07baed24038d47b973'/>
<id>urn:sha1:2128ba4639e37f39c73e2e07baed24038d47b973</id>
<content type='text'>
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.

To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Acked-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
