Merge tag 'hexagon-5.13-0' of git://git.kernel.org/pub/scm/linux/kernel/git/bcain...
[linux-2.6-microblaze.git] / drivers / rpmsg / qcom_smd.c
index 19903de..8da1b5c 100644 (file)
@@ -974,6 +974,20 @@ static int qcom_smd_trysend(struct rpmsg_endpoint *ept, void *data, int len)
        return __qcom_smd_send(qsept->qsch, data, len, false);
 }
 
+static int qcom_smd_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
+{
+       struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);
+
+       return __qcom_smd_send(qsept->qsch, data, len, true);
+}
+
+static int qcom_smd_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
+{
+       struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);
+
+       return __qcom_smd_send(qsept->qsch, data, len, false);
+}
+
 static __poll_t qcom_smd_poll(struct rpmsg_endpoint *ept,
                                  struct file *filp, poll_table *wait)
 {
@@ -1038,7 +1052,9 @@ static const struct rpmsg_device_ops qcom_smd_device_ops = {
 static const struct rpmsg_endpoint_ops qcom_smd_endpoint_ops = {
        .destroy_ept = qcom_smd_destroy_ept,
        .send = qcom_smd_send,
+       .sendto = qcom_smd_sendto,
        .trysend = qcom_smd_trysend,
+       .trysendto = qcom_smd_trysendto,
        .poll = qcom_smd_poll,
 };