Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+36 -21
+1 -1
drivers/rpmsg/qcom_smd.c
··· 1467 1467 * @parent: parent device for the edge 1468 1468 * @node: device_node describing the edge 1469 1469 * 1470 - * Returns an edge reference, or negative ERR_PTR() on failure. 1470 + * Return: an edge reference, or negative ERR_PTR() on failure. 1471 1471 */ 1472 1472 struct qcom_smd_edge *qcom_smd_register_edge(struct device *parent, 1473 1473 struct device_node *node)
+5 -2
drivers/rpmsg/rpmsg_char.c
··· 9 9 * Based on rpmsg performance statistics driver by Michal Simek, which in turn 10 10 * was based on TI & Google OMX rpmsg driver. 11 11 */ 12 + 13 + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 14 + 12 15 #include <linux/cdev.h> 13 16 #include <linux/device.h> 14 17 #include <linux/fs.h> ··· 553 550 554 551 ret = alloc_chrdev_region(&rpmsg_major, 0, RPMSG_DEV_MAX, "rpmsg"); 555 552 if (ret < 0) { 556 - pr_err("rpmsg: failed to allocate char dev region\n"); 553 + pr_err("failed to allocate char dev region\n"); 557 554 return ret; 558 555 } 559 556 ··· 566 563 567 564 ret = register_rpmsg_driver(&rpmsg_chrdev_driver); 568 565 if (ret < 0) { 569 - pr_err("rpmsgchr: failed to register rpmsg driver\n"); 566 + pr_err("failed to register rpmsg driver\n"); 570 567 class_destroy(rpmsg_class); 571 568 unregister_chrdev_region(rpmsg_major, RPMSG_DEV_MAX); 572 569 }
+28 -16
drivers/rpmsg/rpmsg_core.c
··· 26 26 * @rpdev: rpmsg device 27 27 * @chinfo: channel_info to bind 28 28 * 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. 30 30 */ 31 31 struct rpmsg_device *rpmsg_create_channel(struct rpmsg_device *rpdev, 32 32 struct rpmsg_channel_info *chinfo) ··· 48 48 * @rpdev: rpmsg device 49 49 * @chinfo: channel_info to bind 50 50 * 51 - * Returns 0 on success or an appropriate error value. 51 + * Return: 0 on success or an appropriate error value. 52 52 */ 53 53 int rpmsg_release_channel(struct rpmsg_device *rpdev, 54 54 struct rpmsg_channel_info *chinfo) ··· 102 102 * dynamically assign them an available rpmsg address (drivers should have 103 103 * a very good reason why not to always use RPMSG_ADDR_ANY here). 104 104 * 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. 106 106 */ 107 107 struct rpmsg_endpoint *rpmsg_create_ept(struct rpmsg_device *rpdev, 108 108 rpmsg_rx_cb_t cb, void *priv, ··· 146 146 * 147 147 * Can only be called from process context (for now). 148 148 * 149 - * Returns 0 on success and an appropriate error value on failure. 149 + * Return: 0 on success and an appropriate error value on failure. 150 150 */ 151 151 int rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len) 152 152 { ··· 175 175 * 176 176 * Can only be called from process context (for now). 177 177 * 178 - * Returns 0 on success and an appropriate error value on failure. 178 + * Return: 0 on success and an appropriate error value on failure. 179 179 */ 180 180 int rpmsg_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst) 181 181 { ··· 206 206 * 207 207 * Can only be called from process context (for now). 208 208 * 209 - * Returns 0 on success and an appropriate error value on failure. 209 + * Return: 0 on success and an appropriate error value on failure. 210 210 */ 211 211 int rpmsg_send_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, 212 212 void *data, int len) ··· 235 235 * 236 236 * Can only be called from process context (for now). 237 237 * 238 - * Returns 0 on success and an appropriate error value on failure. 238 + * Return: 0 on success and an appropriate error value on failure. 239 239 */ 240 240 int rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len) 241 241 { ··· 263 263 * 264 264 * Can only be called from process context (for now). 265 265 * 266 - * Returns 0 on success and an appropriate error value on failure. 266 + * Return: 0 on success and an appropriate error value on failure. 267 267 */ 268 268 int rpmsg_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst) 269 269 { ··· 282 282 * @filp: file for poll_wait() 283 283 * @wait: poll_table for poll_wait() 284 284 * 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 286 286 */ 287 287 __poll_t rpmsg_poll(struct rpmsg_endpoint *ept, struct file *filp, 288 288 poll_table *wait) ··· 313 313 * 314 314 * Can only be called from process context (for now). 315 315 * 316 - * Returns 0 on success and an appropriate error value on failure. 316 + * Return: 0 on success and an appropriate error value on failure. 317 317 */ 318 318 int rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, 319 319 void *data, int len) ··· 540 540 err = rpdrv->probe(rpdev); 541 541 if (err) { 542 542 dev_err(dev, "%s: failed: %d\n", __func__, err); 543 - if (ept) 544 - rpmsg_destroy_ept(ept); 545 - goto out; 543 + goto destroy_ept; 546 544 } 547 545 548 - if (ept && rpdev->ops->announce_create) 546 + if (ept && rpdev->ops->announce_create) { 549 547 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); 550 562 out: 551 563 return err; 552 564 } ··· 635 623 * @rpdrv: pointer to a struct rpmsg_driver 636 624 * @owner: owning module/driver 637 625 * 638 - * Returns 0 on success, and an appropriate error value on failure. 626 + * Return: 0 on success, and an appropriate error value on failure. 639 627 */ 640 628 int __register_rpmsg_driver(struct rpmsg_driver *rpdrv, struct module *owner) 641 629 { ··· 649 637 * unregister_rpmsg_driver() - unregister an rpmsg driver from the rpmsg bus 650 638 * @rpdrv: pointer to a struct rpmsg_driver 651 639 * 652 - * Returns 0 on success, and an appropriate error value on failure. 640 + * Return: 0 on success, and an appropriate error value on failure. 653 641 */ 654 642 void unregister_rpmsg_driver(struct rpmsg_driver *rpdrv) 655 643 {
+1 -1
drivers/rpmsg/virtio_rpmsg_bus.c
··· 547 547 * should use the appropriate rpmsg_{try}send{to, _offchannel} API 548 548 * (see include/linux/rpmsg.h). 549 549 * 550 - * Returns 0 on success and an appropriate error value on failure. 550 + * Return: 0 on success and an appropriate error value on failure. 551 551 */ 552 552 static int rpmsg_send_offchannel_raw(struct rpmsg_device *rpdev, 553 553 u32 src, u32 dst,