diff options
author | Suman Anna <s-anna@ti.com> | 2015-03-04 20:01:14 -0600 |
---|---|---|
committer | Ohad Ben-Cohen <ohad@wizery.com> | 2015-05-02 09:54:30 +0300 |
commit | fb7737e949e31d8a71acee6bbb670f32dbd2a2c0 (patch) | |
tree | 57ba40cfa05ca8a34211f3cbd97f77625beeed0a /include | |
parent | 0ce8cf2f31d661a27b7656e791acacb86eb58739 (diff) | |
download | linux-stable-fb7737e949e31d8a71acee6bbb670f32dbd2a2c0.tar.gz linux-stable-fb7737e949e31d8a71acee6bbb670f32dbd2a2c0.tar.bz2 linux-stable-fb7737e949e31d8a71acee6bbb670f32dbd2a2c0.zip |
hwspinlock/core: add device tree support
This patch adds a new OF-friendly API of_hwspin_lock_get_id()
for hwspinlock clients to use/request locks from a hwspinlock
device instantiated through a device-tree blob. This new API
can be used by hwspinlock clients to get the id for a specific
lock using the phandle + args specifier, so that it can be
requested using the available hwspin_lock_request_specific()
API.
Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
[small comment clarification]
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hwspinlock.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/hwspinlock.h b/include/linux/hwspinlock.h index 3343298e40e8..859d673d98c8 100644 --- a/include/linux/hwspinlock.h +++ b/include/linux/hwspinlock.h @@ -26,6 +26,7 @@ #define HWLOCK_IRQ 0x02 /* Disable interrupts, don't save state */ struct device; +struct device_node; struct hwspinlock; struct hwspinlock_device; struct hwspinlock_ops; @@ -66,6 +67,7 @@ int hwspin_lock_unregister(struct hwspinlock_device *bank); struct hwspinlock *hwspin_lock_request(void); struct hwspinlock *hwspin_lock_request_specific(unsigned int id); int hwspin_lock_free(struct hwspinlock *hwlock); +int of_hwspin_lock_get_id(struct device_node *np, int index); int hwspin_lock_get_id(struct hwspinlock *hwlock); int __hwspin_lock_timeout(struct hwspinlock *, unsigned int, int, unsigned long *); @@ -120,6 +122,11 @@ void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) { } +static inline int of_hwspin_lock_get_id(struct device_node *np, int index) +{ + return 0; +} + static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) { return 0; |