<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/thermal/samsung, branch linux-7.1.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.1.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.1.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2024-11-13T15:17:57+00:00</updated>
<entry>
<title>thermal: Switch back to struct platform_driver::remove()</title>
<updated>2024-11-13T15:17:57+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@baylibre.com</email>
</author>
<published>2024-10-19T16:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/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/exynos: Simplify with dev_err_probe()</title>
<updated>2024-07-15T11:31:40+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2024-07-09T12:59:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ca6176693f86cbff58c5eda82a2617bd9143cafb'/>
<id>urn:sha1:ca6176693f86cbff58c5eda82a2617bd9143cafb</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;
Link: https://lore.kernel.org/r/20240709-thermal-probe-v1-5-241644e2b6e0@linaro.org
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Simplify probe() with local dev variable</title>
<updated>2024-07-15T11:31:40+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2024-07-09T12:59:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4a6cf76edf5c8cda4def7b1578836a88b547ff69'/>
<id>urn:sha1:4a6cf76edf5c8cda4def7b1578836a88b547ff69</id>
<content type='text'>
Simplify the probe() function by using local 'dev' instead of
&amp;pdev-&gt;dev.  While touching devm_kzalloc(), use preferred sizeof(*)
syntax.

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Reviewed-by: Alim Akhtar &lt;alim.akhtar@samsung.com&gt;
Link: https://lore.kernel.org/r/20240709-thermal-probe-v1-4-241644e2b6e0@linaro.org
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Use set_trips ops</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5314b1543787e6cd5d248186fcfd5c5fc4ca2146'/>
<id>urn:sha1:5314b1543787e6cd5d248186fcfd5c5fc4ca2146</id>
<content type='text'>
Currently, each trip point defined in the device tree corresponds to a
single hardware interrupt. This commit instead switches to using two
hardware interrupts, whose values are set dynamically using the
set_trips callback. Additionally, the critical temperature threshold is
handled specifically.

Setting interrupts in this way also fixes a long-standing lockdep
warning, which was caused by calling thermal_zone_get_trips with our
lock being held. Do note that this requires TMU initialization to be
split into two parts, as done by the parent commit: parts of the
initialization call into the thermal_zone_device structure and so must
be done after its registration, but the initialization is also
responsible for setting up calibration, which must be done before
thermal_zone_device registration, which will call set_trips for the
first time; if the calibration is not done in time, the interrupt values
will be silently wrong!

Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-10-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Use BIT wherever possible</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=af00d488339aee7bf42b07057053ef919bedee6f'/>
<id>urn:sha1:af00d488339aee7bf42b07057053ef919bedee6f</id>
<content type='text'>
The original driver did not use that macro and it allows us to make our
intentions slightly clearer.

Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-9-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Split initialization of TMU and the thermal zone</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b72ba67baec1d8ff67edc6e70c371ab6b2f7d31c'/>
<id>urn:sha1:b72ba67baec1d8ff67edc6e70c371ab6b2f7d31c</id>
<content type='text'>
This will be needed in the future, as the thermal zone subsystem might
call our callbacks right after devm_thermal_of_zone_register. Currently
we just make get_temp return EAGAIN in such case, but this will not be
possible with state-modifying callbacks, for instance set_trips.

Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-8-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Stop using the threshold mechanism on Exynos 4210</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d7a5b431911c5d9da7fbff852433e6f99a4c6616'/>
<id>urn:sha1:d7a5b431911c5d9da7fbff852433e6f99a4c6616</id>
<content type='text'>
Exynos 4210 supports setting a base threshold value, which is added to
all trip points. This might be useful, but is not really necessary in
our usecase, so we always set it to 0 to simplify the code a bit.

Additionally, this change makes it so that we convert the value to the
calibrated one in a slightly different place. This is more correct
morally, though it does not make any change when single-point
calibration is being used (which is the case currently).

Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-7-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Simplify regulator (de)initialization</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5d6976d01414f23af4b81d7f91cfd59839c8b1fe'/>
<id>urn:sha1:5d6976d01414f23af4b81d7f91cfd59839c8b1fe</id>
<content type='text'>
We rewrite the initialization to enable the regulator as part of devm,
which allows us to not handle the struct instance manually.

Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt; Link:
https://lore.kernel.org/r/20231201095625.301884-6-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Handle devm_regulator_get_optional return value correctly</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=52ef6f567e6b9a878a8e0e5d6367aa65a08227a5'/>
<id>urn:sha1:52ef6f567e6b9a878a8e0e5d6367aa65a08227a5</id>
<content type='text'>
Currently, if regulator is required in the SoC, but
devm_regulator_get_optional fails for whatever reason, the execution
will proceed without propagating the error. Meanwhile there is no
reason to output the error in case of -ENODEV.

Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-5-m.majewski2@samsung.com
</content>
</entry>
<entry>
<title>thermal/drivers/exynos: Wwitch from workqueue-driven interrupt handling to threaded interrupts</title>
<updated>2024-01-02T08:33:19+00:00</updated>
<author>
<name>Mateusz Majewski</name>
<email>m.majewski2@samsung.com</email>
</author>
<published>2023-12-01T09:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=20009a8137eefbeebb86402d04cae8955795385a'/>
<id>urn:sha1:20009a8137eefbeebb86402d04cae8955795385a</id>
<content type='text'>
The workqueue boilerplate is mostly one-to-one what the threaded
interrupts do.

Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: Mateusz Majewski &lt;m.majewski2@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20231201095625.301884-4-m.majewski2@samsung.com
</content>
</entry>
</feed>
