| /linux-6.15/include/linux/ |
| H A D | hwspinlock.h | 24 struct hwspinlock; 61 struct hwspinlock *hwspin_lock_request_specific(unsigned int id); 62 int hwspin_lock_free(struct hwspinlock *hwlock); 64 int __hwspin_lock_timeout(struct hwspinlock *, unsigned int, int, 66 int __hwspin_trylock(struct hwspinlock *, int, unsigned long *); 67 void __hwspin_unlock(struct hwspinlock *, int, unsigned long *); 69 int hwspin_lock_bust(struct hwspinlock *hwlock, unsigned int id); 100 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() 190 static inline int hwspin_trylock_irq(struct hwspinlock *hwlock) in hwspin_trylock_irq() 246 static inline int hwspin_trylock(struct hwspinlock *hwlock) in hwspin_trylock() [all …]
|
| /linux-6.15/Documentation/locking/ |
| H A D | hwspinlock.rst | 84 hwspinlock). 113 release the hwspinlock as soon as possible. 276 Unlock a previously-locked hwspinlock. 288 Unlock a previously-locked hwspinlock. 298 Unlock a previously-locked hwspinlock. 309 #include <linux/hwspinlock.h> 314 struct hwspinlock *hwlock; 374 if the hwspinlock is still in use). 398 struct hwspinlock lock[0]; 405 * struct hwspinlock - this struct represents a single hwspinlock instance [all …]
|
| H A D | index.rst | 23 hwspinlock
|
| /linux-6.15/drivers/hwspinlock/ |
| H A D | hwspinlock_internal.h | 31 int (*trylock)(struct hwspinlock *lock); 32 void (*unlock)(struct hwspinlock *lock); 33 int (*bust)(struct hwspinlock *lock, unsigned int id); 34 void (*relax)(struct hwspinlock *lock); 43 struct hwspinlock { struct 62 struct hwspinlock lock[]; 65 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id()
|
| H A D | hwspinlock_core.c | 373 struct hwspinlock *hwlock; in of_hwspin_lock_get_id() 455 struct hwspinlock *tmp; in hwspin_lock_register_single() 480 struct hwspinlock *hwlock = NULL; in hwspin_lock_unregister_single() 521 struct hwspinlock *hwlock; in hwspin_lock_register() 568 struct hwspinlock *hwlock, *tmp; in hwspin_lock_unregister() 682 struct hwspinlock *tmp; in __hwspin_lock_request() 727 struct hwspinlock *hwlock; in hwspin_lock_request_specific() 776 struct hwspinlock *tmp; in hwspin_lock_free() 817 struct hwspinlock **hwlock = res; in devm_hwspin_lock_match() 827 hwspin_lock_free(*(struct hwspinlock **)res); in devm_hwspin_lock_release() [all …]
|
| H A D | u8500_hsem.c | 50 static int u8500_hsem_trylock(struct hwspinlock *lock) in u8500_hsem_trylock() 63 static void u8500_hsem_unlock(struct hwspinlock *lock) in u8500_hsem_unlock() 74 static void u8500_hsem_relax(struct hwspinlock *lock) in u8500_hsem_relax() 89 struct hwspinlock *hwlock; in u8500_hsem_probe()
|
| H A D | sprd_hwspinlock.c | 40 static int sprd_hwspinlock_trylock(struct hwspinlock *lock) in sprd_hwspinlock_trylock() 60 static void sprd_hwspinlock_unlock(struct hwspinlock *lock) in sprd_hwspinlock_unlock() 68 static void sprd_hwspinlock_relax(struct hwspinlock *lock) in sprd_hwspinlock_relax() 89 struct hwspinlock *lock; in sprd_hwspinlock_probe()
|
| H A D | omap_hwspinlock.c | 38 static int omap_hwspinlock_trylock(struct hwspinlock *lock) in omap_hwspinlock_trylock() 46 static void omap_hwspinlock_unlock(struct hwspinlock *lock) in omap_hwspinlock_unlock() 64 static void omap_hwspinlock_relax(struct hwspinlock *lock) in omap_hwspinlock_relax()
|
| H A D | qcom_hwspinlock.c | 28 static int qcom_hwspinlock_trylock(struct hwspinlock *lock) in qcom_hwspinlock_trylock() 45 static void qcom_hwspinlock_unlock(struct hwspinlock *lock) in qcom_hwspinlock_unlock() 67 static int qcom_hwspinlock_bust(struct hwspinlock *lock, unsigned int id) in qcom_hwspinlock_bust() 219 array_size = QCOM_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock); in qcom_hwspinlock_probe()
|
| H A D | stm32_hwspinlock.c | 28 static int stm32_hwspinlock_trylock(struct hwspinlock *lock) in stm32_hwspinlock_trylock() 39 static void stm32_hwspinlock_unlock(struct hwspinlock *lock) in stm32_hwspinlock_unlock() 46 static void stm32_hwspinlock_relax(struct hwspinlock *lock) in stm32_hwspinlock_relax()
|
| H A D | sun6i_hwspinlock.c | 63 static int sun6i_hwspinlock_trylock(struct hwspinlock *lock) in sun6i_hwspinlock_trylock() 70 static void sun6i_hwspinlock_unlock(struct hwspinlock *lock) in sun6i_hwspinlock_unlock() 94 struct hwspinlock *hwlock; in sun6i_hwspinlock_probe()
|
| /linux-6.15/Documentation/devicetree/bindings/hwlock/ |
| H A D | ti,omap-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/ti,omap-hwspinlock.yaml# 15 - ti,omap4-hwspinlock # for OMAP44xx, OMAP54xx, AM33xx, AM43xx, DRA7xx SoCs 16 - ti,am64-hwspinlock # for K3 AM64x SoCs 17 - ti,am654-hwspinlock # for K3 AM65x, J721E and J7200 SoCs 25 The OMAP hwspinlock users will use a 0-indexed relative hwlock number as 26 the argument specifier value for requesting a specific hwspinlock within 27 a hwspinlock bank. 43 compatible = "ti,omap4-hwspinlock";
|
| H A D | st,stm32-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/st,stm32-hwspinlock.yaml# 17 const: st,stm32-hwspinlock 41 hwspinlock@4c000000 { 42 compatible = "st,stm32-hwspinlock";
|
| H A D | sprd,hwspinlock-r3p0.yaml | 4 $id: http://devicetree.org/schemas/hwlock/sprd,hwspinlock-r3p0.yaml# 16 const: sprd,hwspinlock-r3p0 44 compatible = "sprd,hwspinlock-r3p0";
|
| H A D | allwinner,sun6i-a31-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/allwinner,sun6i-a31-hwspinlock.yaml# 18 const: allwinner,sun6i-a31-hwspinlock 47 compatible = "allwinner,sun6i-a31-hwspinlock";
|
| H A D | qcom-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml#
|
| /linux-6.15/Documentation/translations/zh_CN/locking/ |
| H A D | index.rst | 33 * hwspinlock
|
| /linux-6.15/arch/arm64/boot/dts/sprd/ |
| H A D | whale2.dtsi | 196 hwlock: hwspinlock@40500000 { 197 compatible = "sprd,hwspinlock-r3p0";
|
| /linux-6.15/drivers/nvmem/ |
| H A D | sc27xx-efuse.c | 64 struct hwspinlock *hwlock;
|
| H A D | sprd-efuse.c | 66 struct hwspinlock *hwlock;
|
| /linux-6.15/drivers/ |
| H A D | Makefile | 157 obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
|
| H A D | Kconfig | 162 source "drivers/hwspinlock/Kconfig"
|
| /linux-6.15/drivers/irqchip/ |
| H A D | irq-stm32mp-exti.c | 74 struct hwspinlock *hwlock; 372 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32mp_exti_set_type()
|
| /linux-6.15/drivers/base/regmap/ |
| H A D | internal.h | 181 struct hwspinlock *hwlock;
|
| /linux-6.15/drivers/spi/ |
| H A D | spi-sprd-adi.c | 149 struct hwspinlock *hwlock;
|