Re: [PATCH v5 08/16] rpmsg: glink: add sendto and trysendto ops

From: Arnaud POULIQUEN
Date: Fri Mar 05 2021 - 05:47:26 EST


Hi Mathieu,

On 3/4/21 8:11 PM, Mathieu Poirier wrote:
> On Fri, Feb 19, 2021 at 12:14:53PM +0100, Arnaud Pouliquen wrote:
>> Implement the sendto ops to support the future rpmsg_char update for the
>> vitio backend support.
>
> Add a new line, otherwise it is very easy to read.
>
>> The use of sendto in rpmsg_char is needed as a destination address is
>> requested at least by the virtio backend.
>
> Same here and throughout the patchset.
>
>> The glink implementation does not need a destination address so ignores it.
>>
>> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx>
>> ---
>> drivers/rpmsg/qcom_glink_native.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c
>> index d4e4dd482614..ae2c03b59c55 100644
>> --- a/drivers/rpmsg/qcom_glink_native.c
>> +++ b/drivers/rpmsg/qcom_glink_native.c
>> @@ -1332,6 +1332,20 @@ static int qcom_glink_trysend(struct rpmsg_endpoint *ept, void *data, int len)
>> return __qcom_glink_send(channel, data, len, false);
>> }
>>
>> +static int qcom_glink_sendto(struct rpmsg_endpoint *ept, 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)
>> +{
>> + struct glink_channel *channel = to_glink_channel(ept);
>> +
>> + return __qcom_glink_send(channel, data, len, false);
>> +}
>
> Just rename send() to sendto() and trysend() to trysendto() and ignore the
> destination address.

Function prototypes have to match with rpmsg_endpoint_ops structure defined
below. So seems to me not possible to just rename the functions.
Please could you clarify if i missed something?

> The same goes for the next patch. I would fold patch 08
> and 09 into 10 to help get the big picture.

I'm going to squash all in one.

Thanks,
Arnaud

>
>> +
>> /*
>> * Finds the device_node for the glink child interested in this channel.
>> */
>> @@ -1364,7 +1378,9 @@ static const struct rpmsg_device_ops glink_device_ops = {
>> static const struct rpmsg_endpoint_ops glink_endpoint_ops = {
>> .destroy_ept = qcom_glink_destroy_ept,
>> .send = qcom_glink_send,
>> + .sendto = qcom_glink_sendto,
>> .trysend = qcom_glink_trysend,
>> + .trysendto = qcom_glink_trysendto,
>> };
>>
>> static void qcom_glink_rpdev_release(struct device *dev)
>> --
>> 2.17.1
>>