<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/remoteproc/qcom_wcnss.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>2026-03-19T15:14:44Z</updated>
<entry>
<title>remoteproc: qcom_wcnss: Fix reserved region mapping failure</title>
<updated>2026-03-19T15:14:44Z</updated>
<author>
<name>Rob Herring (Arm)</name>
<email>robh@kernel.org</email>
</author>
<published>2026-01-28T22:02:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3a5736ac0c1f01e4ec0a89aa136177df5e308676'/>
<id>urn:sha1:3a5736ac0c1f01e4ec0a89aa136177df5e308676</id>
<content type='text'>
[ Upstream commit f9b888599418951b8229bbb28851ed4da50c58e9 ]

Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
functions for "memory-region"") switched from devm_ioremap_wc() to
devm_ioremap_resource_wc(). The difference is devm_ioremap_resource_wc()
also requests the resource which fails. Testing of both fixed and
dynamic reserved regions indicates that requesting the resource should
work, so I'm not sure why it doesn't work in this case. Fix the issue by
reverting back to devm_ioremap_wc().

Reported-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reported-by: André Apitzsch &lt;git@apitzsch.eu&gt;
Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
Signed-off-by: Rob Herring (Arm) &lt;robh@kernel.org&gt;
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Tested-by: André Apitzsch &lt;git@apitzsch.eu&gt; # on BQ Aquaris M5
Link: https://lore.kernel.org/r/20260128220243.3018526-1-robh@kernel.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom_wcnss: Fix NULL vs IS_ERR() bug in wcnss_alloc_memory_region()</title>
<updated>2025-11-29T20:18:23Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@linaro.org</email>
</author>
<published>2025-11-29T14:51:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cda5dc12eb12cd1dd125c2bfc8952bc498a77cba'/>
<id>urn:sha1:cda5dc12eb12cd1dd125c2bfc8952bc498a77cba</id>
<content type='text'>
The devm_ioremap_resource_wc() function never returns NULL, it returns
error pointers.  Update the checking to match.

Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Link: https://lore.kernel.org/r/09a43da41ee277a80a3265348831e747f7b62620.1764427595.git.dan.carpenter@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"</title>
<updated>2025-11-26T16:27:29Z</updated>
<author>
<name>Rob Herring (Arm)</name>
<email>robh@kernel.org</email>
</author>
<published>2025-11-24T18:27:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c70b9d5fdcd707ddac29284ea425fd433f374696'/>
<id>urn:sha1:c70b9d5fdcd707ddac29284ea425fd433f374696</id>
<content type='text'>
Use the newly added of_reserved_mem_region_to_resource() and
of_reserved_mem_region_count() functions to handle "memory-region"
properties.

The error handling is a bit different in some cases. Often
"memory-region" is optional, so failed lookup is not an error. But then
an error in of_reserved_mem_lookup() is treated as an error. However,
that distinction is not really important. Either the region is available
and usable or it is not. So now, it is just
of_reserved_mem_region_to_resource() which is checked for an error.

Signed-off-by: Rob Herring (Arm) &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/r/20251124182751.507624-2-robh@kernel.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom_wcnss: Fix on platforms without fallback regulators</title>
<updated>2025-05-13T15:34:33Z</updated>
<author>
<name>Matti Lehtimäki</name>
<email>matti.lehtimaki@gmail.com</email>
</author>
<published>2025-05-11T23:40:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4ca45af0a56d00b86285d6fdd720dca3215059a7'/>
<id>urn:sha1:4ca45af0a56d00b86285d6fdd720dca3215059a7</id>
<content type='text'>
Recent change to handle platforms with only single power domain broke
pronto-v3 which requires power domains and doesn't have fallback voltage
regulators in case power domains are missing. Add a check to verify
the number of fallback voltage regulators before using the code which
handles single power domain situation.

Fixes: 65991ea8a6d1 ("remoteproc: qcom_wcnss: Handle platforms with only single power domain")
Signed-off-by: Matti Lehtimäki &lt;matti.lehtimaki@gmail.com&gt;
Tested-by: Luca Weiss &lt;luca.weiss@fairphone.com&gt; # sdm632-fairphone-fp3
Link: https://lore.kernel.org/r/20250511234026.94735-1-matti.lehtimaki@gmail.com
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom_wcnss: Handle platforms with only single power domain</title>
<updated>2025-03-05T22:01:28Z</updated>
<author>
<name>Matti Lehtimäki</name>
<email>matti.lehtimaki@gmail.com</email>
</author>
<published>2025-02-06T19:56:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=65991ea8a6d1e68effdc01d95ebe39f1653f7b71'/>
<id>urn:sha1:65991ea8a6d1e68effdc01d95ebe39f1653f7b71</id>
<content type='text'>
Both MSM8974 and MSM8226 have only CX as power domain with MX &amp; PX being
handled as regulators. Handle this case by reodering pd_names to have CX
first, and handling that the driver core will already attach a single
power domain internally.

Signed-off-by: Matti Lehtimäki &lt;matti.lehtimaki@gmail.com&gt;
[luca: minor changes]
Signed-off-by: Luca Weiss &lt;luca@lucaweiss.eu&gt;
Link: https://lore.kernel.org/r/20250206-wcnss-singlepd-v2-2-9a53ee953dee@lucaweiss.eu
[bjorn: Added missing braces to else after multi-statement if]
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Switch back to struct platform_driver::remove()</title>
<updated>2024-10-29T17:27:37Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@baylibre.com</email>
</author>
<published>2024-10-25T13:13:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ad64a7c4a49d30c5d909a35e2c7882d3870ddafc'/>
<id>urn:sha1:ad64a7c4a49d30c5d909a35e2c7882d3870ddafc</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/remoteproc 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.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@baylibre.com&gt;
Link: https://lore.kernel.org/r/20241025131340.258233-2-u.kleine-koenig@baylibre.com
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom_wcnss: Use devm_rproc_alloc() helper</title>
<updated>2024-03-06T04:00:04Z</updated>
<author>
<name>Andrew Davis</name>
<email>afd@ti.com</email>
</author>
<published>2024-01-23T18:46:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c92ab8aaf42e84f33d690ea9cb292483dd9c2761'/>
<id>urn:sha1:c92ab8aaf42e84f33d690ea9cb292483dd9c2761</id>
<content type='text'>
Use the device lifecycle managed allocation function. This helps prevent
mistakes like freeing out of order in cleanup functions and forgetting to
free on error paths.

Signed-off-by: Andrew Davis &lt;afd@ti.com&gt;
Link: https://lore.kernel.org/r/20240123184632.725054-7-afd@ti.com
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom: wcnss: use devm_platform_ioremap_resource_byname()</title>
<updated>2023-07-15T20:10:34Z</updated>
<author>
<name>Ye Xingchen</name>
<email>ye.xingchen@zte.com.cn</email>
</author>
<published>2023-03-22T03:16:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=92d24d0927bc4399cbb6bca9d7c410cd849c6a1d'/>
<id>urn:sha1:92d24d0927bc4399cbb6bca9d7c410cd849c6a1d</id>
<content type='text'>
Convert platform_get_resource_byname(),devm_ioremap_resource() to a single
call to devm_platform_ioremap_resource_byname(), as this is exactly what
this function does.

Signed-off-by: Ye Xingchen &lt;ye.xingchen@zte.com.cn&gt;
Link: https://lore.kernel.org/r/202303221116427329010@zte.com.cn
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: qcom: Use of_reserved_mem_lookup()</title>
<updated>2023-07-15T19:39:48Z</updated>
<author>
<name>Stephan Gerhold</name>
<email>stephan@gerhold.net</email>
</author>
<published>2023-07-10T20:34:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0ee55c188a3c97309a6794077d5ef4ebd58f62cb'/>
<id>urn:sha1:0ee55c188a3c97309a6794077d5ef4ebd58f62cb</id>
<content type='text'>
Reserved memory can be either looked up using the generic function
of_address_to_resource() or using the special of_reserved_mem_lookup().
The latter has the advantage that it ensures that the referenced memory
region was really reserved and is not e.g. status = "disabled".

of_reserved_mem also supports allocating reserved memory dynamically at
boot time. This works only when using of_reserved_mem_lookup() since
there won't be a fixed address in the device tree.

Switch the code to use of_reserved_mem_lookup(), similar to
qcom_q6v5_wcss.c which is using it already. There is no functional
difference for static reserved memory allocations.

While at it this also adds two missing of_node_put() calls in
qcom_q6v5_pas.c.

Signed-off-by: Stephan Gerhold &lt;stephan@gerhold.net&gt;
Tested-by: Caleb Connolly &lt;caleb.connolly@linaro.org&gt; # SDM845
Reviewed-by: Caleb Connolly &lt;caleb.connolly@linaro.org&gt;
Link: https://lore.kernel.org/r/20230710-rproc-of-rmem-v3-1-eea7f0a33590@gerhold.net
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: Explicitly include correct DT includes</title>
<updated>2023-07-15T17:35:50Z</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2023-07-14T17:49:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3440d8da79ba983330457b2400b15e7b1b002ac3'/>
<id>urn:sha1:3440d8da79ba983330457b2400b15e7b1b002ac3</id>
<content type='text'>
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/r/20230714174935.4063513-1-robh@kernel.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
</feed>
