Lines Matching refs:rpdev
127 * @rpdev: the rpmsg channel device
134 struct rpmsg_device rpdev;
140 container_of(_rpdev, struct virtio_rpmsg_channel, rpdev)
239 struct rpmsg_device *rpdev,
245 struct device *dev = rpdev ? &rpdev->dev : &vrp->vdev->dev;
254 ept->rpdev = rpdev;
288 static struct rpmsg_endpoint *virtio_rpmsg_create_ept(struct rpmsg_device *rpdev,
293 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
295 return __rpmsg_create_ept(vch->vrp, rpdev, cb, priv, chinfo.src);
326 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(ept->rpdev);
331 static int virtio_rpmsg_announce_create(struct rpmsg_device *rpdev)
333 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
335 struct device *dev = &rpdev->dev;
339 if (rpdev->announce && rpdev->ept &&
343 strncpy(nsm.name, rpdev->id.name, RPMSG_NAME_SIZE);
344 nsm.addr = cpu_to_virtio32(vrp->vdev, rpdev->ept->addr);
347 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
355 static int virtio_rpmsg_announce_destroy(struct rpmsg_device *rpdev)
357 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
359 struct device *dev = &rpdev->dev;
363 if (rpdev->announce && rpdev->ept &&
367 strncpy(nsm.name, rpdev->id.name, RPMSG_NAME_SIZE);
368 nsm.addr = cpu_to_virtio32(vrp->vdev, rpdev->ept->addr);
371 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
387 struct rpmsg_device *rpdev = to_rpmsg_device(dev);
388 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
390 kfree(rpdev->driver_override);
403 struct rpmsg_device *rpdev;
425 rpdev = &vch->rpdev;
426 rpdev->src = chinfo->src;
427 rpdev->dst = chinfo->dst;
428 rpdev->ops = &virtio_rpmsg_ops;
434 rpdev->announce = rpdev->src != RPMSG_ADDR_ANY;
436 strncpy(rpdev->id.name, chinfo->name, RPMSG_NAME_SIZE);
438 rpdev->dev.parent = &vrp->vdev->dev;
439 rpdev->dev.release = virtio_rpmsg_release_device;
440 ret = rpmsg_register_device(rpdev);
444 return rpdev;
529 * @rpdev: the rpmsg channel
539 * message will be sent to the remote processor which the @rpdev channel
561 static int rpmsg_send_offchannel_raw(struct rpmsg_device *rpdev,
565 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
567 struct device *dev = &rpdev->dev;
661 struct rpmsg_device *rpdev = ept->rpdev;
662 u32 src = ept->addr, dst = rpdev->dst;
664 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
670 struct rpmsg_device *rpdev = ept->rpdev;
673 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
679 struct rpmsg_device *rpdev = ept->rpdev;
681 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, true);
686 struct rpmsg_device *rpdev = ept->rpdev;
687 u32 src = ept->addr, dst = rpdev->dst;
689 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
695 struct rpmsg_device *rpdev = ept->rpdev;
698 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
704 struct rpmsg_device *rpdev = ept->rpdev;
706 return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false);
753 ept->cb(ept->rpdev, msg->data, msg_len, ept->priv,
826 static int rpmsg_ns_cb(struct rpmsg_device *rpdev, void *data, int len,
849 * for sanity reasons, make sure a valid rpdev has _not_ sneaked
852 if (rpdev) {
853 dev_err(dev, "anomaly: ns ept has an rpdev handle\n");