Lines Matching +full:rpmsg +full:- +full:name

1 // SPDX-License-Identifier: GPL-2.0-only
7 #include <linux/rpmsg.h>
11 /* Lower level is a rpmsg dev, upper level is a wwan port */
25 return -ENOMEM; in rpmsg_wwan_ctrl_callback()
28 wwan_port_rx(rpwwan->wwan_port, skb); in rpmsg_wwan_ctrl_callback()
36 .src = rpwwan->rpdev->src, in rpmsg_wwan_ctrl_start()
40 strscpy(chinfo.name, rpwwan->rpdev->id.name, sizeof(chinfo.name)); in rpmsg_wwan_ctrl_start()
41 rpwwan->ept = rpmsg_create_ept(rpwwan->rpdev, rpmsg_wwan_ctrl_callback, in rpmsg_wwan_ctrl_start()
43 if (!rpwwan->ept) in rpmsg_wwan_ctrl_start()
44 return -EREMOTEIO; in rpmsg_wwan_ctrl_start()
53 rpmsg_destroy_ept(rpwwan->ept); in rpmsg_wwan_ctrl_stop()
54 rpwwan->ept = NULL; in rpmsg_wwan_ctrl_stop()
62 ret = rpmsg_trysend(rpwwan->ept, skb->data, skb->len); in rpmsg_wwan_ctrl_tx()
75 ret = rpmsg_send(rpwwan->ept, skb->data, skb->len); in rpmsg_wwan_ctrl_tx_blocking()
88 return rpmsg_poll(rpwwan->ept, filp, wait); in rpmsg_wwan_ctrl_tx_poll()
106 for (dev = dev->parent; dev; dev = dev->parent) { in rpmsg_wwan_find_parent()
119 parent = rpmsg_wwan_find_parent(&rpdev->dev); in rpmsg_wwan_ctrl_probe()
121 return -ENODEV; in rpmsg_wwan_ctrl_probe()
123 rpwwan = devm_kzalloc(&rpdev->dev, sizeof(*rpwwan), GFP_KERNEL); in rpmsg_wwan_ctrl_probe()
125 return -ENOMEM; in rpmsg_wwan_ctrl_probe()
127 rpwwan->rpdev = rpdev; in rpmsg_wwan_ctrl_probe()
128 dev_set_drvdata(&rpdev->dev, rpwwan); in rpmsg_wwan_ctrl_probe()
131 port = wwan_create_port(parent, rpdev->id.driver_data, in rpmsg_wwan_ctrl_probe()
136 rpwwan->wwan_port = port; in rpmsg_wwan_ctrl_probe()
143 struct rpmsg_wwan_dev *rpwwan = dev_get_drvdata(&rpdev->dev); in rpmsg_wwan_ctrl_remove()
145 wwan_remove_port(rpwwan->wwan_port); in rpmsg_wwan_ctrl_remove()
149 /* RPMSG channels for Qualcomm SoCs with integrated modem */
150 { .name = "DATA5_CNTL", .driver_data = WWAN_PORT_QMI },
151 { .name = "DATA4", .driver_data = WWAN_PORT_AT },
152 { .name = "DATA1", .driver_data = WWAN_PORT_AT },
155 MODULE_DEVICE_TABLE(rpmsg, rpmsg_wwan_ctrl_id_table);
158 .drv.name = "rpmsg_wwan_ctrl",
166 MODULE_DESCRIPTION("RPMSG WWAN CTRL Driver");