Quoting Deepak Kumar Singh (2021-09-30 08:32:01) > Some transports like Glink support the state notifications between > clients using signals similar to serial protocol signals. > Local glink client drivers can send and receive signals to glink > clients running on remote processors. > > Add apis to support sending and receiving of signals by rpmsg clients. s/apis/APIs/ > > Signed-off-by: Deepak Kumar Singh <deesin@xxxxxxxxxxxxxx> [...] > diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c > index 9151836..5cae50c 100644 > --- a/drivers/rpmsg/rpmsg_core.c > +++ b/drivers/rpmsg/rpmsg_core.c > @@ -327,6 +327,24 @@ int rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, > } > EXPORT_SYMBOL(rpmsg_trysend_offchannel); > > +/** > + * rpmsg_set_flow_control() - sets/clears searial flow control signals s/searial/serial/ > + * @ept: the rpmsg endpoint > + * @enable: enable or disable serial flow control > + * > + * Returns 0 on success and an appropriate error value on failure. Use 'Return:' instead of Returns. > + */ > +int rpmsg_set_flow_control(struct rpmsg_endpoint *ept, bool enable) > +{ > + if (WARN_ON(!ept)) > + return -EINVAL; > + if (!ept->ops->set_flow_control) > + return -ENXIO; > + > + return ept->ops->set_flow_control(ept, enable); > +} > +EXPORT_SYMBOL(rpmsg_set_flow_control); > + > /* > * match a rpmsg channel with a channel info struct. > * this is used to make sure we're not creating rpmsg devices for channels