diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h
index 436faf04ba1ca78ce5cadb91857a3c36147e440b..42d62a76c0e2741bd43a383660978f224759c697 100644 (file)
--- a/include/linux/rpmsg.h
+++ b/include/linux/rpmsg.h
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
* @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
*
struct kref refcount;
rpmsg_rx_cb_t cb;
struct mutex cb_lock;
+ int cb_lockdep_class;
u32 addr;
void *priv;