mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization
@ 2025-12-17  6:51 Zhongqiu Han
  2025-12-17  6:51 ` [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show Zhongqiu Han
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

This patch series introduces several improvements to the rpmsg subsystem,
including minor cleanups, correctness fixes and a performance optimization
in the virtio transport layer.

Summary:
- Cleanup and API usage improvements (sysfs_emit, comment fixes)
- Documentation corrections
- Proper error handling for dev_set_name()
- Performance optimization in virtio RX path using RCU

The last patch reduces lock contention in a read-heavy hot path by
replacing mutex-based endpoint lookup with RCU-based lookup. This is a
performance optimization only; no functional change.

Zhongqiu Han (5):
  rpmsg: Replace sprintf() with sysfs_emit() in sysfs show
  rpmsg: core: Fix incorrect return value documentation
  rpmsg: char: Fix typo in comment
  rpmsg: Handle dev_set_name() failures properly
  rpmsg: virtio: Optimize endpoint lookup in RX path with RCU

 Documentation/staging/rpmsg.rst  |  1 -
 drivers/rpmsg/qcom_glink_smem.c  |  8 +++++++-
 drivers/rpmsg/qcom_smd.c         | 10 ++++++++--
 drivers/rpmsg/rpmsg_char.c       | 13 ++++++++-----
 drivers/rpmsg/rpmsg_core.c       | 14 ++++++++------
 drivers/rpmsg/rpmsg_ctrl.c       |  5 ++++-
 drivers/rpmsg/virtio_rpmsg_bus.c | 11 +++++++++--
 7 files changed, 44 insertions(+), 18 deletions(-)


base-commit: 563c8dd425b59e44470e28519107b1efc99f4c7b
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show
  2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
@ 2025-12-17  6:51 ` Zhongqiu Han
  2026-01-30  0:19   ` Chris Lew
  2025-12-17  6:51 ` [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation Zhongqiu Han
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

Use sysfs_emit() instead of sprintf() in sysfs attribute show functions.
sysfs_emit() is the recommended API for sysfs output as it provides buffer
overflow protection and proper formatting.

No functional changes.

Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
---
 drivers/rpmsg/qcom_smd.c   | 2 +-
 drivers/rpmsg/rpmsg_char.c | 6 +++---
 drivers/rpmsg/rpmsg_core.c | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 42594f5ee438..2793096aba45 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -1458,7 +1458,7 @@ static ssize_t rpmsg_name_show(struct device *dev,
 {
 	struct qcom_smd_edge *edge = to_smd_edge(dev);
 
-	return sprintf(buf, "%s\n", edge->name);
+	return sysfs_emit(buf, "%s\n", edge->name);
 }
 static DEVICE_ATTR_RO(rpmsg_name);
 
diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index 96fcdd2d7093..3287e7941c8c 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -365,7 +365,7 @@ static ssize_t name_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rpmsg_eptdev *eptdev = dev_get_drvdata(dev);
 
-	return sprintf(buf, "%s\n", eptdev->chinfo.name);
+	return sysfs_emit(buf, "%s\n", eptdev->chinfo.name);
 }
 static DEVICE_ATTR_RO(name);
 
@@ -374,7 +374,7 @@ static ssize_t src_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rpmsg_eptdev *eptdev = dev_get_drvdata(dev);
 
-	return sprintf(buf, "%d\n", eptdev->chinfo.src);
+	return sysfs_emit(buf, "%d\n", eptdev->chinfo.src);
 }
 static DEVICE_ATTR_RO(src);
 
@@ -383,7 +383,7 @@ static ssize_t dst_show(struct device *dev, struct device_attribute *attr,
 {
 	struct rpmsg_eptdev *eptdev = dev_get_drvdata(dev);
 
-	return sprintf(buf, "%d\n", eptdev->chinfo.dst);
+	return sysfs_emit(buf, "%d\n", eptdev->chinfo.dst);
 }
 static DEVICE_ATTR_RO(dst);
 
diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c
index 96964745065b..bcfd17e5309e 100644
--- a/drivers/rpmsg/rpmsg_core.c
+++ b/drivers/rpmsg/rpmsg_core.c
@@ -348,7 +348,7 @@ field##_show(struct device *dev,					\
 {									\
 	struct rpmsg_device *rpdev = to_rpmsg_device(dev);		\
 									\
-	return sprintf(buf, format_string, rpdev->path);		\
+	return sysfs_emit(buf, format_string, rpdev->path);		\
 }									\
 static DEVICE_ATTR_RO(field);
 
@@ -395,7 +395,7 @@ static ssize_t modalias_show(struct device *dev,
 	if (len != -ENODEV)
 		return len;
 
-	return sprintf(buf, RPMSG_DEVICE_MODALIAS_FMT "\n", rpdev->id.name);
+	return sysfs_emit(buf, RPMSG_DEVICE_MODALIAS_FMT "\n", rpdev->id.name);
 }
 static DEVICE_ATTR_RO(modalias);
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation
  2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
  2025-12-17  6:51 ` [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show Zhongqiu Han
@ 2025-12-17  6:51 ` Zhongqiu Han
  2026-01-30  0:21   ` Chris Lew
  2025-12-17  6:51 ` [PATCH 3/5] rpmsg: char: Fix typo in comment Zhongqiu Han
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

The unregister_rpmsg_driver() function has a void return type but the
documentation incorrectly described a return value. Remove the incorrect
return value documentation to match the actual function signature.

Fixes: bcabbccabffe ("rpmsg: add virtio-based remote processor messaging bus")
Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
---
 Documentation/staging/rpmsg.rst | 1 -
 drivers/rpmsg/rpmsg_core.c      | 2 --
 2 files changed, 3 deletions(-)

diff --git a/Documentation/staging/rpmsg.rst b/Documentation/staging/rpmsg.rst
index 40282cca86ca..11fc22f3736a 100644
--- a/Documentation/staging/rpmsg.rst
+++ b/Documentation/staging/rpmsg.rst
@@ -212,7 +212,6 @@ be probed with.
 
 unregisters an rpmsg driver from the rpmsg bus. user should provide
 a pointer to a previously-registered rpmsg_driver struct.
-Returns 0 on success, and an appropriate error value on failure.
 
 
 Typical usage
diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c
index bcfd17e5309e..a5dd09f19b14 100644
--- a/drivers/rpmsg/rpmsg_core.c
+++ b/drivers/rpmsg/rpmsg_core.c
@@ -627,8 +627,6 @@ EXPORT_SYMBOL(__register_rpmsg_driver);
 /**
  * unregister_rpmsg_driver() - unregister an rpmsg driver from the rpmsg bus
  * @rpdrv: pointer to a struct rpmsg_driver
- *
- * Return: 0 on success, and an appropriate error value on failure.
  */
 void unregister_rpmsg_driver(struct rpmsg_driver *rpdrv)
 {
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 3/5] rpmsg: char: Fix typo in comment
  2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
  2025-12-17  6:51 ` [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show Zhongqiu Han
  2025-12-17  6:51 ` [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation Zhongqiu Han
@ 2025-12-17  6:51 ` Zhongqiu Han
  2026-01-30  0:22   ` Chris Lew
  2025-12-17  6:51 ` [PATCH 4/5] rpmsg: Handle dev_set_name() failures properly Zhongqiu Han
  2025-12-17  6:51 ` [RFC PATCH 5/5] rpmsg: virtio: Optimize endpoint lookup in RX path with RCU Zhongqiu Han
  4 siblings, 1 reply; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

Correct a spelling mistake in a comment: "Storedit" → "Stored it".

Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
---
 drivers/rpmsg/rpmsg_char.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index 3287e7941c8c..073d56858b88 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -504,7 +504,7 @@ static int rpmsg_chrdev_probe(struct rpmsg_device *rpdev)
 
 	/*
 	 * The rpmsg_ept_cb uses *priv parameter to get its rpmsg_eptdev context.
-	 * Storedit in default_ept *priv field.
+	 * Stored it in default_ept *priv field.
 	 */
 	eptdev->default_ept->priv = eptdev;
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 4/5] rpmsg: Handle dev_set_name() failures properly
  2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
                   ` (2 preceding siblings ...)
  2025-12-17  6:51 ` [PATCH 3/5] rpmsg: char: Fix typo in comment Zhongqiu Han
@ 2025-12-17  6:51 ` Zhongqiu Han
  2025-12-17  6:51 ` [RFC PATCH 5/5] rpmsg: virtio: Optimize endpoint lookup in RX path with RCU Zhongqiu Han
  4 siblings, 0 replies; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

The dev_set_name() function can fail and return an error code. Ignoring
these failures leads to undefined behavior as the device lacks a proper
name, which may cause subsequent operations like device_register() or
sysfs interactions to crash or behave unpredictably.

Add error checking across all rpmsg drivers to ensure proper error
propagation and resource cleanup.

Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
---
 drivers/rpmsg/qcom_glink_smem.c | 8 +++++++-
 drivers/rpmsg/qcom_smd.c        | 8 +++++++-
 drivers/rpmsg/rpmsg_char.c      | 5 ++++-
 drivers/rpmsg/rpmsg_core.c      | 8 ++++++--
 drivers/rpmsg/rpmsg_ctrl.c      | 5 ++++-
 5 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/drivers/rpmsg/qcom_glink_smem.c b/drivers/rpmsg/qcom_glink_smem.c
index 7a982c60a8dd..843bf04eecb3 100644
--- a/drivers/rpmsg/qcom_glink_smem.c
+++ b/drivers/rpmsg/qcom_glink_smem.c
@@ -239,7 +239,13 @@ struct qcom_glink_smem *qcom_glink_smem_register(struct device *parent,
 	dev->parent = parent;
 	dev->of_node = node;
 	dev->release = qcom_glink_smem_release;
-	dev_set_name(dev, "%s:%pOFn", dev_name(parent->parent), node);
+	ret = dev_set_name(dev, "%s:%pOFn", dev_name(parent->parent), node);
+	if (ret) {
+		pr_err("failed to set device name\n");
+		put_device(dev);
+		return ERR_PTR(ret);
+	}
+
 	ret = device_register(dev);
 	if (ret) {
 		pr_err("failed to register glink edge\n");
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 2793096aba45..61f580ee04ec 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -1494,7 +1494,13 @@ struct qcom_smd_edge *qcom_smd_register_edge(struct device *parent,
 	edge->dev.release = qcom_smd_edge_release;
 	edge->dev.of_node = node;
 	edge->dev.groups = qcom_smd_edge_groups;
-	dev_set_name(&edge->dev, "%s:%pOFn", dev_name(parent), node);
+	ret = dev_set_name(&edge->dev, "%s:%pOFn", dev_name(parent), node);
+	if (ret) {
+		pr_err("failed to set device name\n");
+		put_device(&edge->dev);
+		return ERR_PTR(ret);
+	}
+
 	ret = device_register(&edge->dev);
 	if (ret) {
 		pr_err("failed to register smd edge\n");
diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index 073d56858b88..89d232d80df2 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -450,7 +450,10 @@ static int rpmsg_chrdev_eptdev_add(struct rpmsg_eptdev *eptdev, struct rpmsg_cha
 	if (ret < 0)
 		goto free_minor_ida;
 	dev->id = ret;
-	dev_set_name(dev, "rpmsg%d", ret);
+
+	ret = dev_set_name(dev, "rpmsg%d", ret);
+	if (ret)
+		goto free_ept_ida;
 
 	ret = cdev_device_add(&eptdev->cdev, &eptdev->dev);
 	if (ret)
diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c
index a5dd09f19b14..49737d69b44c 100644
--- a/drivers/rpmsg/rpmsg_core.c
+++ b/drivers/rpmsg/rpmsg_core.c
@@ -553,8 +553,12 @@ int rpmsg_register_device_override(struct rpmsg_device *rpdev,
 	if (driver_override)
 		strscpy_pad(rpdev->id.name, driver_override, RPMSG_NAME_SIZE);
 
-	dev_set_name(dev, "%s.%s.%d.%d", dev_name(dev->parent),
-		     rpdev->id.name, rpdev->src, rpdev->dst);
+	ret = dev_set_name(dev, "%s.%s.%d.%d", dev_name(dev->parent),
+			   rpdev->id.name, rpdev->src, rpdev->dst);
+	if (ret) {
+		pr_err("failed to set device name\n");
+		return ret;
+	}
 
 	dev->bus = &rpmsg_bus;
 
diff --git a/drivers/rpmsg/rpmsg_ctrl.c b/drivers/rpmsg/rpmsg_ctrl.c
index 28f57945ccd9..3e2cfd16df6a 100644
--- a/drivers/rpmsg/rpmsg_ctrl.c
+++ b/drivers/rpmsg/rpmsg_ctrl.c
@@ -165,7 +165,10 @@ static int rpmsg_ctrldev_probe(struct rpmsg_device *rpdev)
 	if (ret < 0)
 		goto free_minor_ida;
 	dev->id = ret;
-	dev_set_name(&ctrldev->dev, "rpmsg_ctrl%d", ret);
+
+	ret = dev_set_name(&ctrldev->dev, "rpmsg_ctrl%d", ret);
+	if (ret)
+		goto free_ctrl_ida;
 
 	ret = cdev_device_add(&ctrldev->cdev, &ctrldev->dev);
 	if (ret)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [RFC PATCH 5/5] rpmsg: virtio: Optimize endpoint lookup in RX path with RCU
  2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
                   ` (3 preceding siblings ...)
  2025-12-17  6:51 ` [PATCH 4/5] rpmsg: Handle dev_set_name() failures properly Zhongqiu Han
@ 2025-12-17  6:51 ` Zhongqiu Han
  4 siblings, 0 replies; 9+ messages in thread
From: Zhongqiu Han @ 2025-12-17  6:51 UTC (permalink / raw)
  To: andersson, mathieu.poirier, corbet, rusty, ohad
  Cc: linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm, zhongqiu.han

Endpoint lookup in the receive path acts as a demultiplexer routing
incoming messages to the appropriate endpoint. This is a read-heavy
operation (frequent message receives) with infrequent writes
(endpoint creation/destruction). Since idr_find() is safe under RCU
read-side protection, RCU can be used to optimize this path.

Convert endpoint lookup to use RCU:
- Read path: Use rcu_read_lock/unlock for lockless lookup
- Destroy path: Add synchronize_rcu() after endpoint removal

This reduces lock contention in the hot receive path.

RCU safety note:
When idr_alloc() returns, the endpoint becomes immediately visible to
idr_find(), but ept->addr might not yet be set. This creates a theoretical
window where RX could find an endpoint with uninitialized addr.

This is safe because:
1) When endpoints are created via rpmsg core callbacks, initialization
   completes before announce_create() is sent. Remote processors only
   send messages after receiving the announcement.
2) For manually created endpoints, drivers control timing and typically
   do not announce until ready.

Thus, messages only arrive after ept->addr is initialized, making this
RCU optimization safe.

No functional change except reduced contention.

Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
---
 drivers/rpmsg/virtio_rpmsg_bus.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
index 79d983055b4d..4cbb8a8aaec5 100644
--- a/drivers/rpmsg/virtio_rpmsg_bus.c
+++ b/drivers/rpmsg/virtio_rpmsg_bus.c
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
+#include <linux/rcupdate.h>
 #include <linux/rpmsg.h>
 #include <linux/rpmsg/byteorder.h>
 #include <linux/rpmsg/ns.h>
@@ -297,6 +298,12 @@ __rpmsg_destroy_ept(struct virtproc_info *vrp, struct rpmsg_endpoint *ept)
 	idr_remove(&vrp->endpoints, ept->addr);
 	mutex_unlock(&vrp->endpoints_lock);
 
+	/*
+	 * Wait for any ongoing RCU read-side critical sections to complete.
+	 * This ensures no one is accessing the endpoint after removal.
+	 */
+	synchronize_rcu();
+
 	/* make sure in-flight inbound messages won't invoke cb anymore */
 	mutex_lock(&ept->cb_lock);
 	ept->cb = NULL;
@@ -680,7 +687,7 @@ static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev,
 	}
 
 	/* use the dst addr to fetch the callback of the appropriate user */
-	mutex_lock(&vrp->endpoints_lock);
+	rcu_read_lock();
 
 	ept = idr_find(&vrp->endpoints, __rpmsg32_to_cpu(little_endian, msg->dst));
 
@@ -688,7 +695,7 @@ static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev,
 	if (ept)
 		kref_get(&ept->refcount);
 
-	mutex_unlock(&vrp->endpoints_lock);
+	rcu_read_unlock();
 
 	if (ept) {
 		/* make sure ept->cb doesn't go away while we use it */
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show
  2025-12-17  6:51 ` [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show Zhongqiu Han
@ 2026-01-30  0:19   ` Chris Lew
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Lew @ 2026-01-30  0:19 UTC (permalink / raw)
  To: Zhongqiu Han
  Cc: andersson, mathieu.poirier, corbet, rusty, ohad,
	linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm

On Wed, Dec 17, 2025 at 02:51:08PM +0800, Zhongqiu Han wrote:
> Use sysfs_emit() instead of sprintf() in sysfs attribute show functions.
> sysfs_emit() is the recommended API for sysfs output as it provides buffer
> overflow protection and proper formatting.
> 
> No functional changes.
> 
> Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
> ---
>  drivers/rpmsg/qcom_smd.c   | 2 +-
>  drivers/rpmsg/rpmsg_char.c | 6 +++---
>  drivers/rpmsg/rpmsg_core.c | 4 ++--
>  3 files changed, 6 insertions(+), 6 deletions(-)
>

Reviewed-by: Chris Lew <christopher.lew@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation
  2025-12-17  6:51 ` [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation Zhongqiu Han
@ 2026-01-30  0:21   ` Chris Lew
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Lew @ 2026-01-30  0:21 UTC (permalink / raw)
  To: Zhongqiu Han
  Cc: andersson, mathieu.poirier, corbet, rusty, ohad,
	linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm

On Wed, Dec 17, 2025 at 02:51:09PM +0800, Zhongqiu Han wrote:
> The unregister_rpmsg_driver() function has a void return type but the
> documentation incorrectly described a return value. Remove the incorrect
> return value documentation to match the actual function signature.
> 
> Fixes: bcabbccabffe ("rpmsg: add virtio-based remote processor messaging bus")
> Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
> ---
>  Documentation/staging/rpmsg.rst | 1 -
>  drivers/rpmsg/rpmsg_core.c      | 2 --
>  2 files changed, 3 deletions(-)
> 

Reviewed-by: Chris Lew <christopher.lew@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/5] rpmsg: char: Fix typo in comment
  2025-12-17  6:51 ` [PATCH 3/5] rpmsg: char: Fix typo in comment Zhongqiu Han
@ 2026-01-30  0:22   ` Chris Lew
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Lew @ 2026-01-30  0:22 UTC (permalink / raw)
  To: Zhongqiu Han
  Cc: andersson, mathieu.poirier, corbet, rusty, ohad,
	linux-remoteproc, linux-doc, linux-kernel, linux-arm-msm

On Wed, Dec 17, 2025 at 02:51:10PM +0800, Zhongqiu Han wrote:
> Correct a spelling mistake in a comment: "Storedit" → "Stored it".
> 
> Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
> ---
>  drivers/rpmsg/rpmsg_char.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Chris Lew <christopher.lew@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-01-30  0:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-17  6:51 [PATCH 0/5] rpmsg: Cleanup, fixes, and RX path optimization Zhongqiu Han
2025-12-17  6:51 ` [PATCH 1/5] rpmsg: Replace sprintf() with sysfs_emit() in sysfs show Zhongqiu Han
2026-01-30  0:19   ` Chris Lew
2025-12-17  6:51 ` [PATCH 2/5] rpmsg: core: Fix incorrect return value documentation Zhongqiu Han
2026-01-30  0:21   ` Chris Lew
2025-12-17  6:51 ` [PATCH 3/5] rpmsg: char: Fix typo in comment Zhongqiu Han
2026-01-30  0:22   ` Chris Lew
2025-12-17  6:51 ` [PATCH 4/5] rpmsg: Handle dev_set_name() failures properly Zhongqiu Han
2025-12-17  6:51 ` [RFC PATCH 5/5] rpmsg: virtio: Optimize endpoint lookup in RX path with RCU Zhongqiu Han

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®