Skip to content

Commit fc9d695

Browse files
committed
Merge tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull rpmsg updates from Bjorn Andersson: "This adds pr_fmt for the rpmsg_char driver, fixes error handling in rpmsg_dev_probe() and corrects the spelling of "Return:" in various places, in order to fix kerneldoc" * tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: rpmsg: core: Clean up resources on announce_create failure. rpmsg: Fix documentation return formatting rpmsg: char: Add pr_fmt() to prefix messages
2 parents 722d948 + 8066c61 commit fc9d695

File tree

5 files changed

+36
-21
lines changed

5 files changed

+36
-21
lines changed

drivers/rpmsg/qcom_glink_native.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ static void qcom_glink_handle_intent_req_ack(struct qcom_glink *glink,
427427
* Allocates a local channel id and sends a RPM_CMD_OPEN message to the remote.
428428
* Will return with refcount held, regardless of outcome.
429429
*
430-
* Returns 0 on success, negative errno otherwise.
430+
* Return: 0 on success, negative errno otherwise.
431431
*/
432432
static int qcom_glink_send_open_req(struct qcom_glink *glink,
433433
struct glink_channel *channel)

drivers/rpmsg/qcom_smd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1467,7 +1467,7 @@ ATTRIBUTE_GROUPS(qcom_smd_edge);
14671467
* @parent: parent device for the edge
14681468
* @node: device_node describing the edge
14691469
*
1470-
* Returns an edge reference, or negative ERR_PTR() on failure.
1470+
* Return: an edge reference, or negative ERR_PTR() on failure.
14711471
*/
14721472
struct qcom_smd_edge *qcom_smd_register_edge(struct device *parent,
14731473
struct device_node *node)

drivers/rpmsg/rpmsg_char.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
* Based on rpmsg performance statistics driver by Michal Simek, which in turn
1010
* was based on TI & Google OMX rpmsg driver.
1111
*/
12+
13+
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
14+
1215
#include <linux/cdev.h>
1316
#include <linux/device.h>
1417
#include <linux/fs.h>
@@ -550,7 +553,7 @@ static int rpmsg_chrdev_init(void)
550553

551554
ret = alloc_chrdev_region(&rpmsg_major, 0, RPMSG_DEV_MAX, "rpmsg");
552555
if (ret < 0) {
553-
pr_err("rpmsg: failed to allocate char dev region\n");
556+
pr_err("failed to allocate char dev region\n");
554557
return ret;
555558
}
556559

@@ -563,7 +566,7 @@ static int rpmsg_chrdev_init(void)
563566

564567
ret = register_rpmsg_driver(&rpmsg_chrdev_driver);
565568
if (ret < 0) {
566-
pr_err("rpmsgchr: failed to register rpmsg driver\n");
569+
pr_err("failed to register rpmsg driver\n");
567570
class_destroy(rpmsg_class);
568571
unregister_chrdev_region(rpmsg_major, RPMSG_DEV_MAX);
569572
}

drivers/rpmsg/rpmsg_core.c

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* @rpdev: rpmsg device
2727
* @chinfo: channel_info to bind
2828
*
29-
* Returns a pointer to the new rpmsg device on success, or NULL on error.
29+
* Return: a pointer to the new rpmsg device on success, or NULL on error.
3030
*/
3131
struct rpmsg_device *rpmsg_create_channel(struct rpmsg_device *rpdev,
3232
struct rpmsg_channel_info *chinfo)
@@ -48,7 +48,7 @@ EXPORT_SYMBOL(rpmsg_create_channel);
4848
* @rpdev: rpmsg device
4949
* @chinfo: channel_info to bind
5050
*
51-
* Returns 0 on success or an appropriate error value.
51+
* Return: 0 on success or an appropriate error value.
5252
*/
5353
int rpmsg_release_channel(struct rpmsg_device *rpdev,
5454
struct rpmsg_channel_info *chinfo)
@@ -102,7 +102,7 @@ EXPORT_SYMBOL(rpmsg_release_channel);
102102
* dynamically assign them an available rpmsg address (drivers should have
103103
* a very good reason why not to always use RPMSG_ADDR_ANY here).
104104
*
105-
* Returns a pointer to the endpoint on success, or NULL on error.
105+
* Return: a pointer to the endpoint on success, or NULL on error.
106106
*/
107107
struct rpmsg_endpoint *rpmsg_create_ept(struct rpmsg_device *rpdev,
108108
rpmsg_rx_cb_t cb, void *priv,
@@ -146,7 +146,7 @@ EXPORT_SYMBOL(rpmsg_destroy_ept);
146146
*
147147
* Can only be called from process context (for now).
148148
*
149-
* Returns 0 on success and an appropriate error value on failure.
149+
* Return: 0 on success and an appropriate error value on failure.
150150
*/
151151
int rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len)
152152
{
@@ -175,7 +175,7 @@ EXPORT_SYMBOL(rpmsg_send);
175175
*
176176
* Can only be called from process context (for now).
177177
*
178-
* Returns 0 on success and an appropriate error value on failure.
178+
* Return: 0 on success and an appropriate error value on failure.
179179
*/
180180
int rpmsg_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
181181
{
@@ -206,7 +206,7 @@ EXPORT_SYMBOL(rpmsg_sendto);
206206
*
207207
* Can only be called from process context (for now).
208208
*
209-
* Returns 0 on success and an appropriate error value on failure.
209+
* Return: 0 on success and an appropriate error value on failure.
210210
*/
211211
int rpmsg_send_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst,
212212
void *data, int len)
@@ -235,7 +235,7 @@ EXPORT_SYMBOL(rpmsg_send_offchannel);
235235
*
236236
* Can only be called from process context (for now).
237237
*
238-
* Returns 0 on success and an appropriate error value on failure.
238+
* Return: 0 on success and an appropriate error value on failure.
239239
*/
240240
int rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len)
241241
{
@@ -263,7 +263,7 @@ EXPORT_SYMBOL(rpmsg_trysend);
263263
*
264264
* Can only be called from process context (for now).
265265
*
266-
* Returns 0 on success and an appropriate error value on failure.
266+
* Return: 0 on success and an appropriate error value on failure.
267267
*/
268268
int rpmsg_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
269269
{
@@ -282,7 +282,7 @@ EXPORT_SYMBOL(rpmsg_trysendto);
282282
* @filp: file for poll_wait()
283283
* @wait: poll_table for poll_wait()
284284
*
285-
* Returns mask representing the current state of the endpoint's send buffers
285+
* Return: mask representing the current state of the endpoint's send buffers
286286
*/
287287
__poll_t rpmsg_poll(struct rpmsg_endpoint *ept, struct file *filp,
288288
poll_table *wait)
@@ -313,7 +313,7 @@ EXPORT_SYMBOL(rpmsg_poll);
313313
*
314314
* Can only be called from process context (for now).
315315
*
316-
* Returns 0 on success and an appropriate error value on failure.
316+
* Return: 0 on success and an appropriate error value on failure.
317317
*/
318318
int rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst,
319319
void *data, int len)
@@ -540,13 +540,25 @@ static int rpmsg_dev_probe(struct device *dev)
540540
err = rpdrv->probe(rpdev);
541541
if (err) {
542542
dev_err(dev, "%s: failed: %d\n", __func__, err);
543-
if (ept)
544-
rpmsg_destroy_ept(ept);
545-
goto out;
543+
goto destroy_ept;
546544
}
547545

548-
if (ept && rpdev->ops->announce_create)
546+
if (ept && rpdev->ops->announce_create) {
549547
err = rpdev->ops->announce_create(rpdev);
548+
if (err) {
549+
dev_err(dev, "failed to announce creation\n");
550+
goto remove_rpdev;
551+
}
552+
}
553+
554+
return 0;
555+
556+
remove_rpdev:
557+
if (rpdrv->remove)
558+
rpdrv->remove(rpdev);
559+
destroy_ept:
560+
if (ept)
561+
rpmsg_destroy_ept(ept);
550562
out:
551563
return err;
552564
}
@@ -623,7 +635,7 @@ EXPORT_SYMBOL(rpmsg_unregister_device);
623635
* @rpdrv: pointer to a struct rpmsg_driver
624636
* @owner: owning module/driver
625637
*
626-
* Returns 0 on success, and an appropriate error value on failure.
638+
* Return: 0 on success, and an appropriate error value on failure.
627639
*/
628640
int __register_rpmsg_driver(struct rpmsg_driver *rpdrv, struct module *owner)
629641
{
@@ -637,7 +649,7 @@ EXPORT_SYMBOL(__register_rpmsg_driver);
637649
* unregister_rpmsg_driver() - unregister an rpmsg driver from the rpmsg bus
638650
* @rpdrv: pointer to a struct rpmsg_driver
639651
*
640-
* Returns 0 on success, and an appropriate error value on failure.
652+
* Return: 0 on success, and an appropriate error value on failure.
641653
*/
642654
void unregister_rpmsg_driver(struct rpmsg_driver *rpdrv)
643655
{

drivers/rpmsg/virtio_rpmsg_bus.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ static void rpmsg_downref_sleepers(struct virtproc_info *vrp)
547547
* should use the appropriate rpmsg_{try}send{to, _offchannel} API
548548
* (see include/linux/rpmsg.h).
549549
*
550-
* Returns 0 on success and an appropriate error value on failure.
550+
* Return: 0 on success and an appropriate error value on failure.
551551
*/
552552
static int rpmsg_send_offchannel_raw(struct rpmsg_device *rpdev,
553553
u32 src, u32 dst,

0 commit comments

Comments
 (0)