| /linux-6.15/drivers/hwspinlock/ |
| H A D | hwspinlock_core.c | 133 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock() 242 hwlock->bank->ops->relax(hwlock); in __hwspin_lock_timeout() 287 hwlock->bank->ops->unlock(hwlock); in __hwspin_unlock() 332 return hwlock->bank->ops->bust(hwlock, id); in hwspin_lock_bust() 493 if (!hwlock) { in hwspin_lock_unregister_single() 500 return hwlock; in hwspin_lock_unregister_single() 734 if (!hwlock) { in hwspin_lock_request_specific() 757 return hwlock; in hwspin_lock_request_specific() 779 if (!hwlock) { in hwspin_lock_free() 819 if (WARN_ON(!hwlock || !*hwlock)) in devm_hwspin_lock_match() [all …]
|
| H A D | hwspinlock_internal.h | 65 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id() argument 67 int local_id = hwlock - &hwlock->bank->lock[0]; in hwlock_to_id() 69 return hwlock->bank->base_id + local_id; in hwlock_to_id()
|
| H A D | u8500_hsem.c | 89 struct hwspinlock *hwlock; in u8500_hsem_probe() local 115 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in u8500_hsem_probe() 116 hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i; in u8500_hsem_probe()
|
| H A D | sun6i_hwspinlock.c | 94 struct hwspinlock *hwlock; in sun6i_hwspinlock_probe() local 165 hwlock = &priv->bank->lock[i]; in sun6i_hwspinlock_probe() 166 hwlock->priv = io_base + SPINLOCK_LOCK_REGN + sizeof(u32) * i; in sun6i_hwspinlock_probe()
|
| /linux-6.15/include/linux/ |
| H A D | hwspinlock.h | 62 int hwspin_lock_free(struct hwspinlock *hwlock); 173 return __hwspin_trylock(hwlock, HWLOCK_IRQSTATE, flags); in hwspin_trylock_irqsave() 192 return __hwspin_trylock(hwlock, HWLOCK_IRQ, NULL); in hwspin_trylock_irq() 211 return __hwspin_trylock(hwlock, HWLOCK_RAW, NULL); in hwspin_trylock_raw() 248 return __hwspin_trylock(hwlock, 0, NULL); in hwspin_trylock() 365 return __hwspin_lock_timeout(hwlock, to, 0, NULL); in hwspin_lock_timeout() 383 __hwspin_unlock(hwlock, HWLOCK_IRQSTATE, flags); in hwspin_unlock_irqrestore() 399 __hwspin_unlock(hwlock, HWLOCK_IRQ, NULL); in hwspin_unlock_irq() 414 __hwspin_unlock(hwlock, HWLOCK_RAW, NULL); in hwspin_unlock_raw() 429 __hwspin_unlock(hwlock, HWLOCK_IN_ATOMIC, NULL); in hwspin_unlock_in_atomic() [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/hwlock/ |
| H A D | hwlock.txt | 1 Generic hwlock bindings 4 Generic bindings that are common to all the hwlock platform specific driver 11 hwlock providers: 18 hwlock users: 22 property "hwlocks", and an optional "hwlock-names" property. 27 #hwlock-cells. The list can have just a single hwlock 32 - hwlock-names: List of hwlock name strings defined in the same order 34 use the hwlock-names to match and get a specific hwlock. 37 1. Example of a node using a single specific hwlock: 52 the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another [all …]
|
| H A D | ti,omap-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/ti,omap-hwspinlock.yaml# 22 "#hwlock-cells": 25 The OMAP hwspinlock users will use a 0-indexed relative hwlock number as 29 Please look at the generic hwlock binding for usage information for 30 consumers, "Documentation/devicetree/bindings/hwlock/hwlock.txt" 35 - "#hwlock-cells" 45 #hwlock-cells = <1>;
|
| H A D | sprd,hwspinlock-r3p0.yaml | 4 $id: http://devicetree.org/schemas/hwlock/sprd,hwspinlock-r3p0.yaml# 27 '#hwlock-cells': 35 - '#hwlock-cells' 43 hwlock@40500000 { 48 #hwlock-cells = <1>;
|
| H A D | allwinner,sun6i-a31-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/allwinner,sun6i-a31-hwspinlock.yaml# 29 '#hwlock-cells': 37 - "#hwlock-cells" 46 hwlock@1c18000 { 51 #hwlock-cells = <1>;
|
| H A D | qcom-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml# 38 '#hwlock-cells': 44 - '#hwlock-cells' 50 hwlock@1f40000 { 53 #hwlock-cells = <1>;
|
| H A D | st,stm32-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/st,stm32-hwspinlock.yaml# 13 "#hwlock-cells": 30 - "#hwlock-cells" 43 #hwlock-cells = <1>;
|
| /linux-6.15/drivers/spi/ |
| H A D | spi-sprd-adi.c | 149 struct hwspinlock *hwlock; member 224 if (sadi->hwlock) { in sprd_adi_read() 225 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read() 279 if (sadi->hwlock) in sprd_adi_read() 280 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read() 290 if (sadi->hwlock) { in sprd_adi_write() 291 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write() 328 if (sadi->hwlock) in sprd_adi_write() 329 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write() 552 sadi->hwlock = in sprd_adi_probe() [all …]
|
| /linux-6.15/Documentation/locking/ |
| H A D | hwspinlock.rst | 69 int hwspin_lock_free(struct hwspinlock *hwlock); 172 int hwspin_trylock(struct hwspinlock *hwlock); 189 int hwspin_trylock_irq(struct hwspinlock *hwlock); 222 int hwspin_trylock_raw(struct hwspinlock *hwlock); 250 void hwspin_unlock(struct hwspinlock *hwlock); 262 void hwspin_unlock_irq(struct hwspinlock *hwlock); 314 struct hwspinlock *hwlock; 322 if (!hwlock) 326 ret = hwspin_trylock(hwlock); 337 hwspin_unlock(hwlock); [all …]
|
| /linux-6.15/drivers/nvmem/ |
| H A D | sc27xx-efuse.c | 64 struct hwspinlock *hwlock; member 89 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sc27xx_efuse_lock() 102 hwspin_unlock_raw(efuse->hwlock); in sc27xx_efuse_unlock() 232 efuse->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); in sc27xx_efuse_probe() 233 if (!efuse->hwlock) { in sc27xx_efuse_probe()
|
| H A D | sprd-efuse.c | 66 struct hwspinlock *hwlock; member 89 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sprd_efuse_lock() 102 hwspin_unlock_raw(efuse->hwlock); in sprd_efuse_unlock() 390 efuse->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); in sprd_efuse_probe() 391 if (!efuse->hwlock) { in sprd_efuse_probe()
|
| /linux-6.15/drivers/isdn/hardware/mISDN/ |
| H A 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() 258 spin_lock_irqsave(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() 356 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() 386 spin_lock_irqsave(isar->hwlock, flags); in load_firmware() [all …]
|
| H A D | mISDNipac.c | 565 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw() 599 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl() 635 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 640 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 645 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 671 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd() 721 spin_lock_irqsave(isac->hwlock, flags); in dbusy_timer_handler() 1342 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1() 1351 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1() 1362 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1() [all …]
|
| H A D | ipac.h | 19 spinlock_t *hwlock; /* lock HW access */ member 60 spinlock_t *hwlock; /* lock HW access */ member
|
| /linux-6.15/drivers/pinctrl/stm32/ |
| H A D | pinctrl-stm32.c | 117 struct hwspinlock *hwlock; member 434 if (pctl->hwlock) { in stm32_gpio_domain_activate() 445 if (pctl->hwlock) in stm32_gpio_domain_activate() 768 if (pctl->hwlock) { in stm32_pmx_set_mode() 787 if (pctl->hwlock) in stm32_pmx_set_mode() 901 if (pctl->hwlock) { in stm32_pconf_set_driving() 915 if (pctl->hwlock) in stm32_pconf_set_driving() 952 if (pctl->hwlock) { in stm32_pconf_set_speed() 966 if (pctl->hwlock) in stm32_pconf_set_speed() 1003 if (pctl->hwlock) { in stm32_pconf_set_bias() [all …]
|
| /linux-6.15/drivers/irqchip/ |
| H A D | irq-stm32mp-exti.c | 74 struct hwspinlock *hwlock; member 372 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32mp_exti_set_type() local 379 if (hwlock) { in stm32mp_exti_set_type() 380 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32mp_exti_set_type() 396 if (hwlock) in stm32mp_exti_set_type() 397 hwspin_unlock_in_atomic(hwlock); in stm32mp_exti_set_type() 645 host_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in stm32mp_exti_probe() 646 if (!host_data->hwlock) { in stm32mp_exti_probe()
|
| /linux-6.15/drivers/soc/qcom/ |
| H A D | smem.c | 279 struct hwspinlock *hwlock; member 384 return hwspin_lock_bust(__smem->hwlock, SMEM_HOST_ID_TO_HWSPINLOCK_ID(host)); in qcom_smem_bust_hwspin_lock_by_host() 523 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_alloc() 539 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_alloc() 1193 smem->hwlock = hwspin_lock_request_specific(hwlock_id); in qcom_smem_probe() 1194 if (!smem->hwlock) in qcom_smem_probe() 1197 ret = hwspin_lock_timeout_irqsave(smem->hwlock, HWSPINLOCK_TIMEOUT, &flags); in qcom_smem_probe() 1201 hwspin_unlock_irqrestore(smem->hwlock, &flags); in qcom_smem_probe() 1246 hwspin_lock_free(__smem->hwlock); in qcom_smem_remove()
|
| /linux-6.15/arch/arm64/boot/dts/sprd/ |
| H A D | whale2.dtsi | 177 hwlocks = <&hwlock 0>; 178 hwlock-names = "adi"; 196 hwlock: hwspinlock@40500000 { label 199 #hwlock-cells = <1>;
|
| /linux-6.15/drivers/iio/adc/ |
| H A D | sc27xx_adc.c | 92 struct hwspinlock *hwlock; member 490 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT); in sc27xx_adc_read() 576 hwspin_unlock_raw(data->hwlock); in sc27xx_adc_read() 903 sc27xx_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in sc27xx_adc_probe() 904 if (!sc27xx_data->hwlock) { in sc27xx_adc_probe()
|
| /linux-6.15/Documentation/devicetree/bindings/spi/ |
| H A D | sprd,spi-adi.yaml | 61 hwlock-names: 97 hwlock-names = "adi";
|
| /linux-6.15/Documentation/devicetree/bindings/nvmem/ |
| H A D | sprd,ums312-efuse.yaml | 52 hwlocks = <&hwlock 8>;
|