Commit b8077b4d authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Bjorn Andersson
Browse files

rpmsg: Constify buffer passed to send API



The rpmsg_send(), rpmsg_sendto() and other variants of sending
interfaces should only send the passed data, without modifying its
contents, so mark pointer 'data' as pointer to const.  All users of this
interface already follow this approach, so only the function
declarations have to be updated.

Acked-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260317-rpmsg-send-const-v3-3-4d7fd27f037f@oss.qualcomm.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 90dacbf4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ static void mtk_rpmsg_destroy_ept(struct rpmsg_endpoint *ept)
	kref_put(&ept->refcount, __mtk_ept_release);
}

static int mtk_rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len)
static int mtk_rpmsg_send(struct rpmsg_endpoint *ept, const void *data, int len)
{
	struct mtk_rpmsg_rproc_subdev *mtk_subdev =
		to_mtk_rpmsg_endpoint(ept)->mtk_subdev;
@@ -144,7 +144,7 @@ static int mtk_rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len)
					  len, 0);
}

static int mtk_rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len)
static int mtk_rpmsg_trysend(struct rpmsg_endpoint *ept, const void *data, int len)
{
	struct mtk_rpmsg_rproc_subdev *mtk_subdev =
		to_mtk_rpmsg_endpoint(ept)->mtk_subdev;
+8 −5
Original line number Diff line number Diff line
@@ -1474,7 +1474,7 @@ static int qcom_glink_request_intent(struct qcom_glink *glink,
}

static int __qcom_glink_send(struct glink_channel *channel,
			     void *data, int len, bool wait)
			     const void *data, int len, bool wait)
{
	struct qcom_glink *glink = channel->glink;
	struct glink_core_rx_intent *intent = NULL;
@@ -1553,28 +1553,31 @@ static int __qcom_glink_send(struct glink_channel *channel,
	return 0;
}

static int qcom_glink_send(struct rpmsg_endpoint *ept, void *data, int len)
static int qcom_glink_send(struct rpmsg_endpoint *ept, const void *data, int len)
{
	struct glink_channel *channel = to_glink_channel(ept);

	return __qcom_glink_send(channel, data, len, true);
}

static int qcom_glink_trysend(struct rpmsg_endpoint *ept, void *data, int len)
static int qcom_glink_trysend(struct rpmsg_endpoint *ept, const void *data,
			      int len)
{
	struct glink_channel *channel = to_glink_channel(ept);

	return __qcom_glink_send(channel, data, len, false);
}

static int qcom_glink_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
static int qcom_glink_sendto(struct rpmsg_endpoint *ept, const void *data,
			     int len, u32 dst)
{
	struct glink_channel *channel = to_glink_channel(ept);

	return __qcom_glink_send(channel, data, len, true);
}

static int qcom_glink_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
static int qcom_glink_trysendto(struct rpmsg_endpoint *ept, const void *data,
				int len, u32 dst)
{
	struct glink_channel *channel = to_glink_channel(ept);

+6 −4
Original line number Diff line number Diff line
@@ -960,28 +960,30 @@ static void qcom_smd_destroy_ept(struct rpmsg_endpoint *ept)
	kref_put(&ept->refcount, __ept_release);
}

static int qcom_smd_send(struct rpmsg_endpoint *ept, void *data, int len)
static int qcom_smd_send(struct rpmsg_endpoint *ept, const void *data, int len)
{
	struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);

	return __qcom_smd_send(qsept->qsch, data, len, true);
}

static int qcom_smd_trysend(struct rpmsg_endpoint *ept, void *data, int len)
static int qcom_smd_trysend(struct rpmsg_endpoint *ept, const void *data, int len)
{
	struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);

	return __qcom_smd_send(qsept->qsch, data, len, false);
}

static int qcom_smd_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
static int qcom_smd_sendto(struct rpmsg_endpoint *ept, const 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)
static int qcom_smd_trysendto(struct rpmsg_endpoint *ept, const void *data,
			      int len, u32 dst)
{
	struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);

+4 −4
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ EXPORT_SYMBOL(rpmsg_destroy_ept);
 *
 * Return: 0 on success and an appropriate error value on failure.
 */
int rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len)
int rpmsg_send(struct rpmsg_endpoint *ept, const void *data, int len)
{
	if (WARN_ON(!ept))
		return -EINVAL;
@@ -182,7 +182,7 @@ EXPORT_SYMBOL(rpmsg_send);
 *
 * Return: 0 on success and an appropriate error value on failure.
 */
int rpmsg_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
int rpmsg_sendto(struct rpmsg_endpoint *ept, const void *data, int len, u32 dst)
{
	if (WARN_ON(!ept))
		return -EINVAL;
@@ -210,7 +210,7 @@ EXPORT_SYMBOL(rpmsg_sendto);
 *
 * Return: 0 on success and an appropriate error value on failure.
 */
int rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len)
int rpmsg_trysend(struct rpmsg_endpoint *ept, const void *data, int len)
{
	if (WARN_ON(!ept))
		return -EINVAL;
@@ -238,7 +238,7 @@ EXPORT_SYMBOL(rpmsg_trysend);
 *
 * Return: 0 on success and an appropriate error value on failure.
 */
int rpmsg_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
int rpmsg_trysendto(struct rpmsg_endpoint *ept, const void *data, int len, u32 dst)
{
	if (WARN_ON(!ept))
		return -EINVAL;
+4 −4
Original line number Diff line number Diff line
@@ -63,11 +63,11 @@ struct rpmsg_device_ops {
struct rpmsg_endpoint_ops {
	void (*destroy_ept)(struct rpmsg_endpoint *ept);

	int (*send)(struct rpmsg_endpoint *ept, void *data, int len);
	int (*sendto)(struct rpmsg_endpoint *ept, void *data, int len, u32 dst);
	int (*send)(struct rpmsg_endpoint *ept, const void *data, int len);
	int (*sendto)(struct rpmsg_endpoint *ept, const void *data, int len, u32 dst);

	int (*trysend)(struct rpmsg_endpoint *ept, void *data, int len);
	int (*trysendto)(struct rpmsg_endpoint *ept, void *data, int len, u32 dst);
	int (*trysend)(struct rpmsg_endpoint *ept, const void *data, int len);
	int (*trysendto)(struct rpmsg_endpoint *ept, const void *data, int len, u32 dst);
	__poll_t (*poll)(struct rpmsg_endpoint *ept, struct file *filp,
			     poll_table *wait);
	int (*set_flow_control)(struct rpmsg_endpoint *ept, bool pause, u32 dst);
Loading