On Sun, Dec 03, 2023 at 12:06:04PM -0800, Adrien Leravat wrote: > It seems the documentation was not updated when `rpmsg_sendto` > and related switched from `rpmsg_channel` to `rpmsg_endpoint`. > This change updates the proper calls, text, and the sample. > > Signed-off-by: Adrien Leravat <adrien.leravat@xxxxxxxxx> > --- > Documentation/staging/rpmsg.rst | 50 ++++++++++++++++++--------------- > 1 file changed, 27 insertions(+), 23 deletions(-) > Thanks for the refactoring. I have applied this patch. Mathieu > diff --git a/Documentation/staging/rpmsg.rst b/Documentation/staging/rpmsg.rst > index 1ce353cb232a..dba3e5f65612 100644 > --- a/Documentation/staging/rpmsg.rst > +++ b/Documentation/staging/rpmsg.rst > @@ -68,13 +68,14 @@ User API > > :: > > - int rpmsg_send(struct rpmsg_channel *rpdev, void *data, int len); > + int rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len); > > -sends a message across to the remote processor on a given channel. > -The caller should specify the channel, the data it wants to send, > +sends a message across to the remote processor from the given endpoint. > +The caller should specify the endpoint, the data it wants to send, > and its length (in bytes). The message will be sent on the specified > -channel, i.e. its source and destination address fields will be > -set to the channel's src and dst addresses. > +endpoint's channel, i.e. its source and destination address fields will be > +respectively set to the endpoint's src address and its parent channel > +dst addresses. > > In case there are no TX buffers available, the function will block until > one becomes available (i.e. until the remote processor consumes > @@ -87,17 +88,18 @@ Returns 0 on success and an appropriate error value on failure. > > :: > > - int rpmsg_sendto(struct rpmsg_channel *rpdev, void *data, int len, u32 dst); > + int rpmsg_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst); > > -sends a message across to the remote processor on a given channel, > +sends a message across to the remote processor from a given endpoint, > to a destination address provided by the caller. > > -The caller should specify the channel, the data it wants to send, > +The caller should specify the endpoint, the data it wants to send, > its length (in bytes), and an explicit destination address. > > The message will then be sent to the remote processor to which the > -channel belongs, using the channel's src address, and the user-provided > -dst address (thus the channel's dst address will be ignored). > +endpoints's channel belongs, using the endpoints's src address, > +and the user-provided dst address (thus the channel's dst address > +will be ignored). > > In case there are no TX buffers available, the function will block until > one becomes available (i.e. until the remote processor consumes > @@ -110,18 +112,19 @@ Returns 0 on success and an appropriate error value on failure. > > :: > > - int rpmsg_send_offchannel(struct rpmsg_channel *rpdev, u32 src, u32 dst, > + int rpmsg_send_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, > void *data, int len); > > > sends a message across to the remote processor, using the src and dst > addresses provided by the user. > > -The caller should specify the channel, the data it wants to send, > +The caller should specify the endpoint, the data it wants to send, > its length (in bytes), and explicit source and destination addresses. > The message will then be sent to the remote processor to which the > -channel belongs, but the channel's src and dst addresses will be > -ignored (and the user-provided addresses will be used instead). > +endpoint's channel belongs, but the endpoint's src and channel dst > +addresses will be ignored (and the user-provided addresses will > +be used instead). > > In case there are no TX buffers available, the function will block until > one becomes available (i.e. until the remote processor consumes > @@ -134,13 +137,14 @@ Returns 0 on success and an appropriate error value on failure. > > :: > > - int rpmsg_trysend(struct rpmsg_channel *rpdev, void *data, int len); > + int rpmsg_trysend(struct rpmsg_endpoint *ept, void *data, int len); > > -sends a message across to the remote processor on a given channel. > -The caller should specify the channel, the data it wants to send, > +sends a message across to the remote processor from a given endpoint. > +The caller should specify the endpoint, the data it wants to send, > and its length (in bytes). The message will be sent on the specified > -channel, i.e. its source and destination address fields will be > -set to the channel's src and dst addresses. > +endpoint's channel, i.e. its source and destination address fields will be > +respectively set to the endpoint's src address and its parent channel > +dst addresses. > > In case there are no TX buffers available, the function will immediately > return -ENOMEM without waiting until one becomes available. > @@ -150,10 +154,10 @@ Returns 0 on success and an appropriate error value on failure. > > :: > > - int rpmsg_trysendto(struct rpmsg_channel *rpdev, void *data, int len, u32 dst) > + int rpmsg_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst) > > > -sends a message across to the remote processor on a given channel, > +sends a message across to the remote processor from a given endoint, > to a destination address provided by the user. > > The user should specify the channel, the data it wants to send, > @@ -171,7 +175,7 @@ Returns 0 on success and an appropriate error value on failure. > > :: > > - int rpmsg_trysend_offchannel(struct rpmsg_channel *rpdev, u32 src, u32 dst, > + int rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, > void *data, int len); > > > @@ -284,7 +288,7 @@ content to the console. > dev_info(&rpdev->dev, "chnl: 0x%x -> 0x%x\n", rpdev->src, rpdev->dst); > > /* send a message on our channel */ > - err = rpmsg_send(rpdev, "hello!", 6); > + err = rpmsg_send(rpdev->ept, "hello!", 6); > if (err) { > pr_err("rpmsg_send failed: %d\n", err); > return err; > -- > 2.43.0 >