ARM: rockchip: rk3228: add grf definition
[firefly-linux-kernel-4.4.55.git] / include / linux / rwsem.h
index 8da67d625e13fc888413847da4e2a7ae560b3d86..0616ffe45702f0c28fd20390ec9b8574c543032b 100644 (file)
@@ -133,10 +133,20 @@ do {                                                              \
        _down_write_nest_lock(sem, &(nest_lock)->dep_map);      \
 } while (0);
 
+/*
+ * Take/release a lock when not the owner will release it.
+ *
+ * [ This API should be avoided as much as possible - the
+ *   proper abstraction for this case is completions. ]
+ */
+extern void down_read_non_owner(struct rw_semaphore *sem);
+extern void up_read_non_owner(struct rw_semaphore *sem);
 #else
 # define down_read_nested(sem, subclass)               down_read(sem)
 # define down_write_nest_lock(sem, nest_lock)  down_write(sem)
 # define down_write_nested(sem, subclass)      down_write(sem)
+# define down_read_non_owner(sem)              down_read(sem)
+# define up_read_non_owner(sem)                        up_read(sem)
 #endif
 
 #endif /* _LINUX_RWSEM_H */