rpmsg updates for v6.18

Clean up the dev_pm_domain integration in rpmsg core. Correct module
 aliases for the rpmsg char driver.
 
 Transition Qualcomm SMD and GLINK drivers to strscpy() and fix the
 regression in legacy code for acquiring outgoing interrupts using the
 non-mailbox based mechanism.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmjehnkVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FGJMP+gLVjUQW+5CEGjMHOjZ0s+Z1xuru
 8mJlgJWStHk158HAOn6RgCRHjqOtUqXpBTa8/OMY76VhmyyQ5e1jdyMOveFxp6E+
 BgffJm7u5q+f4UjdIwDlvugUz9dgI1xi+CghYkaiWBDW1Vngwm44xLFFzO5zFd1t
 48GkJWCboTHjy+ZRH8bt9h8UB9KmG8XdD+LspG5Apxc1qnfr3BAtWNoajzyfMIrn
 BdqW6R0KSoPUzlZNdaWTSMyXeHHG2MRuRR5aK7xPW5XmS/3UGT3rIB9yI+fdLO2T
 eU8JszdFtLO2lMmaeC+y8ciQYAocaOaAL4tP20+fsv5UFL+cIB0yt8vw2Wo8fxAQ
 86LJ2nMymyvV+ZRkkhO6hpC9qFMKWKHl2fozu05+GzAzDezFk8nmhGEfQtwq0+id
 aLQPOei2KHu6QC5VEqdall9B6rqRJzVjE7/qfJX7phBFTgbtt/j58fM8Ug77Y+Gq
 /azPvf/NanUb0PeqRxakNe3bee9/NT/cuweCaydWILOPgcIAGE5+q8fhgAVblXJS
 xfbbzrjY8RMi08ZDEkfrYWaAqQNMdUdIZXknZU6RWmEhJ/8Meqju9SNtWx2F+p62
 Y0chwhG69fX8ViNAPmg6v8wGkaxcsfmhhXkqewTyvRXexPAGM5fzh1zIZbmNZpaD
 C83M2XDwiASWP0Fq
 =GD/v
 -----END PGP SIGNATURE-----

Merge tag 'rpmsg-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux

Pull rpmsg updates from Bjorn Andersson:

 - Clean up the dev_pm_domain integration in rpmsg core. Correct module
   aliases for the rpmsg char driver.

 - Transition Qualcomm SMD and GLINK drivers to strscpy() and fix the
   regression in legacy code for acquiring outgoing interrupts using the
   non-mailbox based mechanism.

* tag 'rpmsg-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
  rpmsg: qcom_smd: Fix fallback to qcom,ipc parse
  rpmsg: Use strscpy() instead of strscpy_pad()
  rpmsg: core: Drop dev_pm_domain_detach() call
  rpmsg: char: Export alias for RPMSG ID rpmsg-raw from table
This commit is contained in:
Linus Torvalds 2025-10-04 15:46:51 -07:00
commit 20f868da2c
4 changed files with 7 additions and 7 deletions

View File

@ -1663,7 +1663,7 @@ static int qcom_glink_rx_open(struct qcom_glink *glink, unsigned int rcid,
}
rpdev->ept = &channel->ept;
strscpy_pad(rpdev->id.name, name, RPMSG_NAME_SIZE);
strscpy(rpdev->id.name, name);
rpdev->src = RPMSG_ADDR_ANY;
rpdev->dst = RPMSG_ADDR_ANY;
rpdev->ops = &glink_device_ops;

View File

@ -1089,7 +1089,7 @@ static int qcom_smd_create_device(struct qcom_smd_channel *channel)
/* Assign public information to the rpmsg_device */
rpdev = &qsdev->rpdev;
strscpy_pad(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
strscpy(rpdev->id.name, channel->name);
rpdev->src = RPMSG_ADDR_ANY;
rpdev->dst = RPMSG_ADDR_ANY;
@ -1368,7 +1368,7 @@ static int qcom_smd_parse_edge(struct device *dev,
edge->mbox_client.knows_txdone = true;
edge->mbox_chan = mbox_request_channel(&edge->mbox_client, 0);
if (IS_ERR(edge->mbox_chan)) {
if (PTR_ERR(edge->mbox_chan) != -ENODEV) {
if (PTR_ERR(edge->mbox_chan) != -ENOENT) {
ret = dev_err_probe(dev, PTR_ERR(edge->mbox_chan),
"failed to acquire IPC mailbox\n");
goto put_node;

View File

@ -522,8 +522,10 @@ static void rpmsg_chrdev_remove(struct rpmsg_device *rpdev)
static struct rpmsg_device_id rpmsg_chrdev_id_table[] = {
{ .name = "rpmsg-raw" },
{ .name = "rpmsg_chrdev" },
{ },
};
MODULE_DEVICE_TABLE(rpmsg, rpmsg_chrdev_id_table);
static struct rpmsg_driver rpmsg_chrdev_driver = {
.probe = rpmsg_chrdev_probe,
@ -565,6 +567,5 @@ static void rpmsg_chrdev_exit(void)
}
module_exit(rpmsg_chrdev_exit);
MODULE_ALIAS("rpmsg:rpmsg_chrdev");
MODULE_DESCRIPTION("RPMSG device interface");
MODULE_LICENSE("GPL v2");

View File

@ -479,7 +479,8 @@ static int rpmsg_dev_probe(struct device *dev)
struct rpmsg_endpoint *ept = NULL;
int err;
err = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
err = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
PD_FLAG_DETACH_POWER_OFF);
if (err)
goto out;
@ -538,8 +539,6 @@ static void rpmsg_dev_remove(struct device *dev)
if (rpdrv->remove)
rpdrv->remove(rpdev);
dev_pm_domain_detach(dev, true);
if (rpdev->ept)
rpmsg_destroy_ept(rpdev->ept);
}