mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user