| /linux/drivers/hwspinlock/ |
| H A D | hwspinlock_internal.h | 19 * struct hwspinlock_ops - platform-specific hwspinlock handlers 24 * @bust: optional, platform-specific bust handler, called by hwspinlock 26 * @relax: optional, platform-specific relax handler, called by hwspinlock 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); 38 * struct hwspinlock - this struct represents a single hwspinlock instance 40 * @lock: initialized and used by hwspinlock core 41 * @priv: private data, owned by the underlying platform-specific hwspinlock drv [all …]
|
| H A D | sprd_hwspinlock.c | 10 #include <linux/hwspinlock.h> 20 /* hwspinlock registers definition */ 30 /* hwspinlock number */ 40 static int sprd_hwspinlock_trylock(struct hwspinlock *lock) in sprd_hwspinlock_trylock() 54 "hwspinlock [%d] lock failed and master/user id = %d!\n", 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() 107 dev_err(&pdev->dev, "get hwspinlock clock failed!\n"); in sprd_hwspinlock_probe() 119 "Failed to add hwspinlock disable action\n"); in sprd_hwspinlock_probe() [all …]
|
| H A D | omap_hwspinlock.c | 22 #include <linux/hwspinlock.h> 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() 80 /* Only a single hwspinlock block device is supported */ in omap_hwspinlock_probe() 127 { .compatible = "ti,omap4-hwspinlock", }, 128 { .compatible = "ti,am64-hwspinlock", }, 129 { .compatible = "ti,am654-hwspinlock", },
|
| H A D | sun6i_hwspinlock.c | 10 #include <linux/hwspinlock.h> 24 #define SPINLOCK_BASE_ID 0 /* there is only one hwspinlock device per SoC */ 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() 132 * bit 28 and 29 represents the hwspinlock setup in sun6i_hwspinlock_probe() 153 dev_err(&pdev->dev, "unsupported hwspinlock setup (%d)\n", num_banks); in sun6i_hwspinlock_probe() 176 dev_err(&pdev->dev, "failed to add hwspinlock disable action\n"); in sun6i_hwspinlock_probe() 194 { .compatible = "allwinner,sun6i-a31-hwspinlock", },
|
| H A D | stm32_hwspinlock.c | 9 #include <linux/hwspinlock.h> 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() 116 dev_err(dev, "Failed to register hwspinlock\n"); in stm32_hwspinlock_probe() 146 { .compatible = "st,stm32-hwspinlock", },
|
| H A D | Kconfig | 3 # Generic HWSPINLOCK framework 6 menuconfig HWSPINLOCK config 9 if HWSPINLOCK 66 endif # HWSPINLOCK
|
| H A D | u8500_hsem.c | 21 #include <linux/hwspinlock.h> 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 | qcom_hwspinlock.c | 7 #include <linux/hwspinlock.h> 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()
|
| /linux/Documentation/devicetree/bindings/hwlock/ |
| H A D | ti,omap-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/ti,omap-hwspinlock.yaml# 7 title: TI HwSpinlock for OMAP and K3 based SoCs 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/drivers/irqchip/ |
| H A D | irq-stm32mp-exti.c | 9 #include <linux/hwspinlock.h> 74 struct hwspinlock *hwlock; 372 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32mp_exti_set_type() 382 pr_err("%s can't get hwspinlock (%d)\n", __func__, err); in stm32mp_exti_set_type() 638 /* check for optional hwspinlock which may be not available yet */ in stm32mp_exti_probe() 641 /* hwspinlock framework not yet ready */ in stm32mp_exti_probe() 647 dev_err(dev, "Failed to request hwspinlock\n"); in stm32mp_exti_probe() 651 /* note: ENOENT is a valid case (means 'no hwspinlock') */ in stm32mp_exti_probe() 652 dev_err(dev, "Failed to get hwspinlock\n"); in stm32mp_exti_probe()
|
| /linux/Documentation/locking/ |
| H A D | index.rst | 23 hwspinlock
|
| /linux/Documentation/translations/zh_CN/locking/ |
| H A D | index.rst | 33 * hwspinlock
|
| /linux/drivers/iio/adc/ |
| H A D | sc27xx_adc.c | 4 #include <linux/hwspinlock.h> 92 struct hwspinlock *hwlock; 492 dev_err(data->dev, "timeout to get the hwspinlock\n"); in sc27xx_adc_read() 899 dev_err(dev, "failed to get hwspinlock id\n"); in sc27xx_adc_probe() 905 dev_err(dev, "failed to request hwspinlock\n"); in sc27xx_adc_probe()
|
| /linux/arch/arm64/boot/dts/sprd/ |
| H A D | whale2.dtsi | 196 hwlock: hwspinlock@40500000 { 197 compatible = "sprd,hwspinlock-r3p0";
|
| /linux/drivers/spi/ |
| H A D | spi-sprd-adi.c | 8 #include <linux/hwspinlock.h> 149 struct hwspinlock *hwlock;
|
| /linux/drivers/ |
| H A D | Makefile | 157 obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
|
| /linux/drivers/mfd/ |
| H A D | syscon.c | 14 #include <linux/hwspinlock.h>
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am65-main.dtsi | 661 hwspinlock: spinlock@30e00000 { label 662 compatible = "ti,am654-hwspinlock";
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | omap4-l4.dtsi | 635 hwspinlock: spinlock@0 { label 636 compatible = "ti,omap4-hwspinlock";
|
| H A D | omap5-l4.dtsi | 651 hwspinlock: spinlock@0 { label 652 compatible = "ti,omap4-hwspinlock";
|
| /linux/ |
| H A D | CREDITS | 341 D: Hardware spinlock (hwspinlock) subsystem 342 D: OMAP hwspinlock driver
|