]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - rpmsg/rpmsg.git/blobdiff - include/linux/rpmsg.h
rpmsg: fix lockdep warnings in virtio rpmsg bus driver
[rpmsg/rpmsg.git] / include / linux / rpmsg.h
index 436faf04ba1ca78ce5cadb91857a3c36147e440b..42d62a76c0e2741bd43a383660978f224759c697 100644 (file)
@@ -25,6 +25,10 @@ struct rpmsg_endpoint;
 struct rpmsg_device_ops;
 struct rpmsg_endpoint_ops;
 
+/* lockdep subclasses for use with ept cb_lock mutex nested calls */
+#define RPMSG_LOCKDEP_SUBCLASS_NORMAL   0 /* regular ept cb_lock */
+#define RPMSG_LOCKDEP_SUBCLASS_NS       1 /* name service ept cb_lock */
+
 /**
  * struct rpmsg_channel_info - channel info representation
  * @name: name of service
@@ -71,6 +75,7 @@ typedef int (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);
  * @refcount: when this drops to zero, the ept is deallocated
  * @cb: rx callback handler
  * @cb_lock: must be taken before accessing/changing @cb
+ * @cb_lockdep_class: mutex lockdep class to be used with @cb_lock
  * @addr: local rpmsg address
  * @priv: private data for the driver's use
  *
@@ -93,6 +98,7 @@ struct rpmsg_endpoint {
        struct kref refcount;
        rpmsg_rx_cb_t cb;
        struct mutex cb_lock;
+       int cb_lockdep_class;
        u32 addr;
        void *priv;