Merge tag 'net-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / rpmsg / rpmsg_internal.h
index 3fc83cd..a76c344 100644 (file)
@@ -20,6 +20,8 @@
 
 /**
  * struct rpmsg_device_ops - indirection table for the rpmsg_device operations
+ * @create_channel:    create backend-specific channel, optional
+ * @release_channel:   release backend-specific channel, optional
  * @create_ept:                create backend-specific endpoint, required
  * @announce_create:   announce presence of new channel, optional
  * @announce_destroy:  announce destruction of channel, optional
  * advertise new channels implicitly by creating the endpoints.
  */
 struct rpmsg_device_ops {
+       struct rpmsg_device *(*create_channel)(struct rpmsg_device *rpdev,
+                                              struct rpmsg_channel_info *chinfo);
+       int (*release_channel)(struct rpmsg_device *rpdev,
+                              struct rpmsg_channel_info *chinfo);
        struct rpmsg_endpoint *(*create_ept)(struct rpmsg_device *rpdev,
                                            rpmsg_rx_cb_t cb, void *priv,
                                            struct rpmsg_channel_info chinfo);
@@ -68,13 +74,13 @@ struct rpmsg_endpoint_ops {
                             poll_table *wait);
 };
 
-int rpmsg_register_device(struct rpmsg_device *rpdev);
-int rpmsg_unregister_device(struct device *parent,
-                           struct rpmsg_channel_info *chinfo);
-
 struct device *rpmsg_find_device(struct device *parent,
                                 struct rpmsg_channel_info *chinfo);
 
+struct rpmsg_device *rpmsg_create_channel(struct rpmsg_device *rpdev,
+                                         struct rpmsg_channel_info *chinfo);
+int rpmsg_release_channel(struct rpmsg_device *rpdev,
+                         struct rpmsg_channel_info *chinfo);
 /**
  * rpmsg_chrdev_register_device() - register chrdev device based on rpdev
  * @rpdev:     prepared rpdev to be used for creating endpoints