OpenCloudOS-Kernel/drivers/hwspinlock
Baolin Wang 1e6c06a7e8 hwspinlock: Introduce one new mode for hwspinlock
In some scenarios, user need do some time-consuming or sleepable
operations under the hardware spinlock protection for synchronization
between the multiple subsystems.

For example, there is one PMIC efuse on Spreadtrum platform, which
need to be accessed under one hardware lock. But during the hardware
lock protection, the efuse operation is time-consuming to almost 5 ms,
so we can not disable the interrupts or preemption so long in this case.

Thus we can introduce one new mode to indicate that we just acquire the
hardware lock and do not disable interrupts or preemption, meanwhile we
should force user to protect the hardware lock with mutex or spinlock to
avoid dead-lock.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2018-04-17 14:49:21 -07:00
..
Kconfig hwspinlock: Change hwspinlock to a bool 2017-11-06 21:59:34 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwspinlock_core.c hwspinlock: Introduce one new mode for hwspinlock 2018-04-17 14:49:21 -07:00
hwspinlock_internal.h hwspinlock/core: register a bank of hwspinlocks in a single API call 2011-09-21 19:45:34 +03:00
omap_hwspinlock.c hwspinlock/omap: add support for dt nodes 2015-05-02 10:05:10 +03:00
qcom_hwspinlock.c hwspinlock: qcom_hwspinlock: add missing of_node_put after calling of_parse_phandle 2016-07-06 12:20:34 -07:00
sirf_hwspinlock.c hwspinlock: add a CSR atlas7 driver 2015-06-12 10:44:06 +03:00
sprd_hwspinlock.c hwspinlock: sprd: Add hardware spinlock driver 2017-05-17 10:52:52 -07:00
u8500_hsem.c hwspinlock: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00