[Linux-stm32] [PATCH v5 08/16] rpmsg: glink: add sendto and trysendto ops

Arnaud POULIQUEN arnaud.pouliquen at foss.st.com
Fri Mar 5 10:46:13 UTC 2021


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 at foss.st.com>
>> ---
>>  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
>>



More information about the Linux-stm32 mailing list