|
@@ -137,25 +137,6 @@ struct rpmsg_device {
|
|
|
|
|
|
typedef void (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);
|
|
|
|
|
|
-/**
|
|
|
- * struct rpmsg_device_ops - indirection table for the rpmsg_device operations
|
|
|
- * @create_ept: create backend-specific endpoint, requried
|
|
|
- * @announce_create: announce presence of new channel, optional
|
|
|
- * @announce_destroy: announce destruction of channel, optional
|
|
|
- *
|
|
|
- * Indirection table for the operations that a rpmsg backend should implement.
|
|
|
- * @announce_create and @announce_destroy are optional as the backend might
|
|
|
- * advertise new channels implicitly by creating the endpoints.
|
|
|
- */
|
|
|
-struct rpmsg_device_ops {
|
|
|
- struct rpmsg_endpoint *(*create_ept)(struct rpmsg_device *rpdev,
|
|
|
- rpmsg_rx_cb_t cb, void *priv,
|
|
|
- struct rpmsg_channel_info chinfo);
|
|
|
-
|
|
|
- int (*announce_create)(struct rpmsg_device *ept);
|
|
|
- int (*announce_destroy)(struct rpmsg_device *ept);
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct rpmsg_endpoint - binds a local rpmsg address to its user
|
|
|
* @rpdev: rpmsg channel device
|
|
@@ -190,34 +171,6 @@ struct rpmsg_endpoint {
|
|
|
const struct rpmsg_endpoint_ops *ops;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct rpmsg_endpoint_ops - indirection table for rpmsg_endpoint operations
|
|
|
- * @destroy_ept: destroy the given endpoint, required
|
|
|
- * @send: see @rpmsg_send(), required
|
|
|
- * @sendto: see @rpmsg_sendto(), optional
|
|
|
- * @send_offchannel: see @rpmsg_send_offchannel(), optional
|
|
|
- * @trysend: see @rpmsg_trysend(), required
|
|
|
- * @trysendto: see @rpmsg_trysendto(), optional
|
|
|
- * @trysend_offchannel: see @rpmsg_trysend_offchannel(), optional
|
|
|
- *
|
|
|
- * Indirection table for the operations that a rpmsg backend should implement.
|
|
|
- * In addition to @destroy_ept, the backend must at least implement @send and
|
|
|
- * @trysend, while the variants sending data off-channel are optional.
|
|
|
- */
|
|
|
-struct rpmsg_endpoint_ops {
|
|
|
- void (*destroy_ept)(struct rpmsg_endpoint *ept);
|
|
|
-
|
|
|
- int (*send)(struct rpmsg_endpoint *ept, void *data, int len);
|
|
|
- int (*sendto)(struct rpmsg_endpoint *ept, void *data, int len, u32 dst);
|
|
|
- int (*send_offchannel)(struct rpmsg_endpoint *ept, u32 src, u32 dst,
|
|
|
- void *data, int len);
|
|
|
-
|
|
|
- int (*trysend)(struct rpmsg_endpoint *ept, void *data, int len);
|
|
|
- int (*trysendto)(struct rpmsg_endpoint *ept, void *data, int len, u32 dst);
|
|
|
- int (*trysend_offchannel)(struct rpmsg_endpoint *ept, u32 src, u32 dst,
|
|
|
- void *data, int len);
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct rpmsg_driver - rpmsg driver struct
|
|
|
* @drv: underlying device driver
|