rpmsg: Allow callback to return errors

Some rpmsg backends support holding on to and redelivering messages upon
failed handling of them, so provide a way for the callback to report and
error and allow the backends to handle this.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Bjorn Andersson 2016-09-01 15:28:08 -07:00
parent e88dae5da4
commit 4b83c52a21
3 changed files with 12 additions and 8 deletions

View file

@ -80,7 +80,7 @@ struct rpmsg_device {
const struct rpmsg_device_ops *ops;
};
typedef void (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);
typedef int (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);
/**
* struct rpmsg_endpoint - binds a local rpmsg address to its user
@ -129,7 +129,7 @@ struct rpmsg_driver {
const struct rpmsg_device_id *id_table;
int (*probe)(struct rpmsg_device *dev);
void (*remove)(struct rpmsg_device *dev);
void (*callback)(struct rpmsg_device *, void *, int, void *, u32);
int (*callback)(struct rpmsg_device *, void *, int, void *, u32);
};
int register_rpmsg_device(struct rpmsg_device *dev);