| /Linux-v5.4/drivers/hwspinlock/ |
| D | hwspinlock_core.c | 91 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument 95 BUG_ON(!hwlock); in __hwspin_trylock() 113 ret = spin_trylock_irqsave(&hwlock->lock, *flags); in __hwspin_trylock() 116 ret = spin_trylock_irq(&hwlock->lock); in __hwspin_trylock() 123 ret = spin_trylock(&hwlock->lock); in __hwspin_trylock() 132 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock() 138 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock() 141 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock() 148 spin_unlock(&hwlock->lock); in __hwspin_trylock() 206 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument [all …]
|
| D | hwspinlock_internal.h | 62 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id() argument 64 int local_id = hwlock - &hwlock->bank->lock[0]; in hwlock_to_id() 66 return hwlock->bank->base_id + local_id; in hwlock_to_id()
|
| D | u8500_hsem.c | 90 struct hwspinlock *hwlock; in u8500_hsem_probe() local 122 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in u8500_hsem_probe() 123 hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i; in u8500_hsem_probe()
|
| D | omap_hwspinlock.c | 78 struct hwspinlock *hwlock; in omap_hwspinlock_probe() local 135 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in omap_hwspinlock_probe() 136 hwlock->priv = io_base + LOCK_BASE_OFFSET + sizeof(u32) * i; in omap_hwspinlock_probe()
|
| D | sirf_hwspinlock.c | 58 struct hwspinlock *hwlock; in sirf_hwspinlock_probe() local 77 hwlock = &hwspin->bank.lock[idx]; in sirf_hwspinlock_probe() 78 hwlock->priv = hwspin->io_base + HW_SPINLOCK_OFFSET(idx); in sirf_hwspinlock_probe()
|
| /Linux-v5.4/include/linux/ |
| D | hwspinlock.h | 63 int hwspin_lock_free(struct hwspinlock *hwlock); 65 int hwspin_lock_get_id(struct hwspinlock *hwlock); 71 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock); 107 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() argument 113 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument 120 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument 126 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock() argument 135 static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) in hwspin_lock_get_id() argument 147 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock) in devm_hwspin_lock_free() argument 183 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags) in hwspin_trylock_irqsave() argument [all …]
|
| /Linux-v5.4/Documentation/devicetree/bindings/hwlock/ |
| D | hwlock.txt | 1 Generic hwlock bindings 4 Generic bindings that are common to all the hwlock platform specific driver 7 Please also look through the individual platform specific hwlock binding 11 hwlock providers: 15 - #hwlock-cells: Specifies the number of cells needed to represent a 18 hwlock users: 21 Consumers that require specific hwlock(s) should specify them using the 22 property "hwlocks", and an optional "hwlock-names" property. 25 - hwlocks: List of phandle to a hwlock provider node and an 26 associated hwlock args specifier as indicated by [all …]
|
| D | sirf,hwspinlock.txt | 10 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific 11 hwlock, so the number of cells should be <1> here. 13 Please look at the generic hwlock binding for usage information for consumers, 14 "Documentation/devicetree/bindings/hwlock/hwlock.txt" 16 Example of hwlock provider: 17 hwlock { 20 #hwlock-cells = <1>; 23 Example of hwlock users: 26 hwlocks = <&hwlock 2>;
|
| D | sprd-hwspinlock.txt | 7 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific 8 hwlock, so the number of cells should be <1> here. 13 Please look at the generic hwlock binding for usage information for consumers, 14 "Documentation/devicetree/bindings/hwlock/hwlock.txt" 16 Example of hwlock provider: 20 #hwlock-cells = <1>;
|
| D | st,stm32-hwspinlock.txt | 7 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific 8 hwlock, so the number of cells should be <1> here. 13 Please look at the generic hwlock binding for usage information for consumers, 14 "Documentation/devicetree/bindings/hwlock/hwlock.txt" 16 Example of hwlock provider: 19 #hwlock-cells = <1>;
|
| D | omap-hwspinlock.txt | 14 - #hwlock-cells: Should be 1. The OMAP hwspinlock users will use a 15 0-indexed relative hwlock number as the argument 19 Please look at the generic hwlock binding for usage information for consumers, 20 "Documentation/devicetree/bindings/hwlock/hwlock.txt" 29 #hwlock-cells = <1>; 38 #hwlock-cells = <1>;
|
| D | qcom-hwspinlock.txt | 21 - #hwlock-cells: 25 (hwlock standard property, see hwlock.txt) 34 hwlock@fd484000 { 38 #hwlock-cells = <1>;
|
| /Linux-v5.4/Documentation/ |
| D | hwspinlock.txt | 80 int hwspin_lock_free(struct hwspinlock *hwlock); 90 int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout); 106 int hwspin_lock_timeout_irq(struct hwspinlock *hwlock, unsigned int timeout); 121 int hwspin_lock_timeout_irqsave(struct hwspinlock *hwlock, unsigned int to, 139 int hwspin_lock_timeout_raw(struct hwspinlock *hwlock, unsigned int timeout); 156 int hwspin_lock_timeout_in_atomic(struct hwspinlock *hwlock, unsigned int to); 172 int hwspin_trylock(struct hwspinlock *hwlock); 189 int hwspin_trylock_irq(struct hwspinlock *hwlock); 206 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags); 222 int hwspin_trylock_raw(struct hwspinlock *hwlock); [all …]
|
| /Linux-v5.4/drivers/nvmem/ |
| D | sc27xx-efuse.c | 55 struct hwspinlock *hwlock; member 71 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sc27xx_efuse_lock() 84 hwspin_unlock_raw(efuse->hwlock); in sc27xx_efuse_unlock() 214 efuse->hwlock = hwspin_lock_request_specific(ret); in sc27xx_efuse_probe() 215 if (!efuse->hwlock) { in sc27xx_efuse_probe() 235 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_probe() 246 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_remove()
|
| /Linux-v5.4/drivers/spi/ |
| D | spi-sprd-adi.c | 113 struct hwspinlock *hwlock; member 170 if (sadi->hwlock) { in sprd_adi_read() 171 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read() 224 if (sadi->hwlock) in sprd_adi_read() 225 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read() 236 if (sadi->hwlock) { in sprd_adi_write() 237 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write() 269 if (sadi->hwlock) in sprd_adi_write() 270 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write() 487 sadi->hwlock = in sprd_adi_probe() [all …]
|
| /Linux-v5.4/drivers/pinctrl/stm32/ |
| D | pinctrl-stm32.c | 110 struct hwspinlock *hwlock; member 372 if (pctl->hwlock) in stm32_gpio_domain_activate() 373 ret = hwspin_lock_timeout(pctl->hwlock, HWSPINLOCK_TIMEOUT); in stm32_gpio_domain_activate() 384 if (pctl->hwlock) in stm32_gpio_domain_activate() 385 hwspin_unlock(pctl->hwlock); in stm32_gpio_domain_activate() 393 if (pctl->hwlock) in stm32_gpio_domain_activate() 394 hwspin_unlock(pctl->hwlock); in stm32_gpio_domain_activate() 702 if (pctl->hwlock) in stm32_pmx_set_mode() 703 err = hwspin_lock_timeout(pctl->hwlock, HWSPINLOCK_TIMEOUT); in stm32_pmx_set_mode() 720 if (pctl->hwlock) in stm32_pmx_set_mode() [all …]
|
| /Linux-v5.4/drivers/iio/adc/ |
| D | sc27xx_adc.c | 77 struct hwspinlock *hwlock; member 194 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT); in sc27xx_adc_read() 253 hwspin_unlock_raw(data->hwlock); in sc27xx_adc_read() 482 struct hwspinlock *hwlock = _data; in sc27xx_adc_free_hwlock() local 484 hwspin_lock_free(hwlock); in sc27xx_adc_free_hwlock() 523 sc27xx_data->hwlock = hwspin_lock_request_specific(ret); in sc27xx_adc_probe() 524 if (!sc27xx_data->hwlock) { in sc27xx_adc_probe() 530 sc27xx_data->hwlock); in sc27xx_adc_probe()
|
| /Linux-v5.4/drivers/isdn/hardware/mISDN/ |
| D | mISDNisar.c | 200 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 202 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware() 217 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 229 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware() 258 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 269 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware() 289 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 311 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware() 329 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 335 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware() [all …]
|
| D | mISDNipac.c | 564 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw() 570 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw() 573 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw() 598 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl() 612 spin_unlock_irqrestore(isac->hwlock, flags); in isac_ctrl() 634 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 636 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd() 639 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 641 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd() 644 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() [all …]
|
| /Linux-v5.4/Documentation/devicetree/bindings/nvmem/ |
| D | sc27xx-efuse.txt | 11 - hwlocks: Reference to a phandle of a hwlock provider node. 34 hwlocks = <&hwlock 12>;
|
| /Linux-v5.4/Documentation/devicetree/bindings/spi/ |
| D | spi-sprd-adi.txt | 42 - hwlocks: Reference to a phandle of a hwlock provider node. 43 - hwlock-names: Reference to hwlock name strings defined in the same order 59 hwlock-names = "adi";
|
| /Linux-v5.4/Documentation/devicetree/bindings/iio/adc/ |
| D | sprd,sc27xx-adc.txt | 14 - hwlocks: Reference to a phandle of a hwlock provider node. 36 hwlocks = <&hwlock 4>;
|
| /Linux-v5.4/drivers/soc/qcom/ |
| D | smem.c | 264 struct hwspinlock *hwlock; member 459 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_alloc() 475 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_alloc() 589 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_get() 607 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_get() 961 smem->hwlock = hwspin_lock_request_specific(hwlock_id); in qcom_smem_probe() 962 if (!smem->hwlock) in qcom_smem_probe() 980 hwspin_lock_free(__smem->hwlock); in qcom_smem_remove()
|
| /Linux-v5.4/arch/arm64/boot/dts/sprd/ |
| D | whale2.dtsi | 172 hwlocks = <&hwlock 0>; 173 hwlock-names = "adi"; 191 hwlock: hwspinlock@40500000 { label 194 #hwlock-cells = <1>;
|
| /Linux-v5.4/drivers/irqchip/ |
| D | irq-stm32-exti.c | 68 struct hwspinlock *hwlock; member 284 if (!chip_data->host_data->hwlock) in stm32_exti_hwspin_lock() 293 ret = hwspin_trylock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_lock() 312 if (chip_data->host_data->hwlock) in stm32_exti_hwspin_unlock() 313 hwspin_unlock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_unlock() 827 host_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in stm32_exti_probe() 828 if (!host_data->hwlock) { in stm32_exti_probe()
|