Home
last modified time | relevance | path

Searched refs:hwspinlock (Results 1 - 25 of 38) sorted by relevance

12

/kernel/linux/linux-5.10/include/linux/
H A Dhwspinlock.h16 /* hwspinlock mode argument */
24 struct hwspinlock;
29 * struct hwspinlock_pdata - platform data for hwspinlock drivers
30 * @base_id: base id for this hwspinlock device
32 * hwspinlock devices provide system-wide hardware locks that are used
39 * Usually boards have a single hwspinlock device, which provides several
44 * should be used for each hwspinlock device (they can't all use 0 as
48 * for each device (which is trivially 0 when only a single hwspinlock
61 struct hwspinlock *hwspin_lock_request(void);
62 struct hwspinlock *hwspin_lock_request_specifi
[all...]
/kernel/linux/linux-6.6/include/linux/
H A Dhwspinlock.h16 /* hwspinlock mode argument */
24 struct hwspinlock;
29 * struct hwspinlock_pdata - platform data for hwspinlock drivers
30 * @base_id: base id for this hwspinlock device
32 * hwspinlock devices provide system-wide hardware locks that are used
39 * Usually boards have a single hwspinlock device, which provides several
44 * should be used for each hwspinlock device (they can't all use 0 as
48 * for each device (which is trivially 0 when only a single hwspinlock
61 struct hwspinlock *hwspin_lock_request(void);
62 struct hwspinlock *hwspin_lock_request_specifi
[all...]
/kernel/linux/linux-5.10/drivers/hwspinlock/
H A Dhwspinlock_core.c20 #include <linux/hwspinlock.h>
31 #define HWSPINLOCK_UNUSED (0) /* tags an hwspinlock as unused */
34 * A radix tree is used to maintain the available hwspinlock instances.
35 * The tree associates hwspinlock pointers with their integer key id,
36 * and provides easy-to-use API which makes the hwspinlock core code simple
42 * used as the ID's of the hwspinlock instances).
45 * framework uses to mark unused hwspinlock instances (see the
47 * tree, looking for an unused hwspinlock instance, is now reduced to a
61 * __hwspin_trylock() - attempt to lock a specific hwspinlock
62 * @hwlock: an hwspinlock whic
[all...]
H A Dhwspinlock_internal.h19 * struct hwspinlock_ops - platform-specific hwspinlock handlers
24 * @relax: optional, platform-specific relax handler, called by hwspinlock
29 int (*trylock)(struct hwspinlock *lock);
30 void (*unlock)(struct hwspinlock *lock);
31 void (*relax)(struct hwspinlock *lock);
35 * struct hwspinlock - this struct represents a single hwspinlock instance
37 * @lock: initialized and used by hwspinlock core
38 * @priv: private data, owned by the underlying platform-specific hwspinlock drv
40 struct hwspinlock { struct
[all...]
H A Domap_hwspinlock.c21 #include <linux/hwspinlock.h>
37 static int omap_hwspinlock_trylock(struct hwspinlock *lock) in omap_hwspinlock_trylock()
45 static void omap_hwspinlock_unlock(struct hwspinlock *lock) in omap_hwspinlock_unlock()
63 static void omap_hwspinlock_relax(struct hwspinlock *lock) in omap_hwspinlock_relax()
78 struct hwspinlock *hwlock; in omap_hwspinlock_probe()
81 /* Only a single hwspinlock block device is supported */ in omap_hwspinlock_probe()
166 { .compatible = "ti,omap4-hwspinlock", },
167 { .compatible = "ti,am654-hwspinlock", },
H A Dsprd_hwspinlock.c11 #include <linux/hwspinlock.h>
22 /* hwspinlock registers definition */
32 /* hwspinlock number */
42 static int sprd_hwspinlock_trylock(struct hwspinlock *lock) in sprd_hwspinlock_trylock()
56 "hwspinlock [%d] lock failed and master/user id = %d!\n", in sprd_hwspinlock_trylock()
62 static void sprd_hwspinlock_unlock(struct hwspinlock *lock) in sprd_hwspinlock_unlock()
70 static void sprd_hwspinlock_relax(struct hwspinlock *lock) in sprd_hwspinlock_relax()
91 struct hwspinlock *lock; in sprd_hwspinlock_probe()
110 dev_err(&pdev->dev, "get hwspinlock clock failed!\n"); in sprd_hwspinlock_probe()
122 "Failed to add hwspinlock disabl in sprd_hwspinlock_probe()
[all...]
H A Dstm32_hwspinlock.c9 #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()
68 array_size = STM32_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock); in stm32_hwspinlock_probe()
131 { .compatible = "st,stm32-hwspinlock", },
H A Du8500_hsem.c21 #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 Dsirf_hwspinlock.c14 #include <linux/hwspinlock.h>
33 static int sirf_hwspinlock_trylock(struct hwspinlock *lock) in sirf_hwspinlock_trylock()
41 static void sirf_hwspinlock_unlock(struct hwspinlock *lock) in sirf_hwspinlock_unlock()
57 struct hwspinlock *hwlock; in sirf_hwspinlock_probe()
88 { .compatible = "sirf,hwspinlock", },
H A Dqcom_hwspinlock.c7 #include <linux/hwspinlock.h>
22 static int qcom_hwspinlock_trylock(struct hwspinlock *lock) in qcom_hwspinlock_trylock()
39 static void qcom_hwspinlock_unlock(struct hwspinlock *lock) in qcom_hwspinlock_unlock()
146 array_size = QCOM_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock); in qcom_hwspinlock_probe()
/kernel/linux/linux-6.6/drivers/hwspinlock/
H A Dhwspinlock_core.c20 #include <linux/hwspinlock.h>
31 #define HWSPINLOCK_UNUSED (0) /* tags an hwspinlock as unused */
34 * A radix tree is used to maintain the available hwspinlock instances.
35 * The tree associates hwspinlock pointers with their integer key id,
36 * and provides easy-to-use API which makes the hwspinlock core code simple
42 * used as the ID's of the hwspinlock instances).
45 * framework uses to mark unused hwspinlock instances (see the
47 * tree, looking for an unused hwspinlock instance, is now reduced to a
61 * __hwspin_trylock() - attempt to lock a specific hwspinlock
62 * @hwlock: an hwspinlock whic
[all...]
H A Dhwspinlock_internal.h19 * struct hwspinlock_ops - platform-specific hwspinlock handlers
24 * @relax: optional, platform-specific relax handler, called by hwspinlock
29 int (*trylock)(struct hwspinlock *lock);
30 void (*unlock)(struct hwspinlock *lock);
31 void (*relax)(struct hwspinlock *lock);
35 * struct hwspinlock - this struct represents a single hwspinlock instance
37 * @lock: initialized and used by hwspinlock core
38 * @priv: private data, owned by the underlying platform-specific hwspinlock drv
40 struct hwspinlock { struct
[all...]
H A Domap_hwspinlock.c22 #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()
79 struct hwspinlock *hwlock; in omap_hwspinlock_probe()
82 /* Only a single hwspinlock block device is supported */ in omap_hwspinlock_probe()
163 { .compatible = "ti,omap4-hwspinlock", },
164 { .compatible = "ti,am64-hwspinlock", },
165 { .compatible = "ti,am654-hwspinlock", },
H A Dsprd_hwspinlock.c10 #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 disabl in sprd_hwspinlock_probe()
[all...]
H A Du8500_hsem.c21 #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 Dstm32_hwspinlock.c9 #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 Dsun6i_hwspinlock.c10 #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 Dqcom_hwspinlock.c7 #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()
195 array_size = QCOM_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock); in qcom_hwspinlock_probe()
/kernel/linux/linux-5.10/drivers/nvmem/
H A Dsc27xx-efuse.c4 #include <linux/hwspinlock.h>
65 struct hwspinlock *hwlock;
93 dev_err(efuse->dev, "timeout to get the hwspinlock\n"); in sc27xx_efuse_lock()
229 dev_err(&pdev->dev, "failed to get hwspinlock id\n"); in sc27xx_efuse_probe()
235 dev_err(&pdev->dev, "failed to request hwspinlock\n"); in sc27xx_efuse_probe()
H A Dsprd-efuse.c6 #include <linux/hwspinlock.h>
66 struct hwspinlock *hwlock;
92 dev_err(efuse->dev, "timeout get the hwspinlock\n"); in sprd_efuse_lock()
/kernel/linux/linux-6.6/drivers/nvmem/
H A Dsc27xx-efuse.c4 #include <linux/hwspinlock.h>
64 struct hwspinlock *hwlock;
92 dev_err(efuse->dev, "timeout to get the hwspinlock\n"); in sc27xx_efuse_lock()
228 dev_err(&pdev->dev, "failed to get hwspinlock id\n"); in sc27xx_efuse_probe()
234 dev_err(&pdev->dev, "failed to request hwspinlock\n"); in sc27xx_efuse_probe()
H A Dsprd-efuse.c6 #include <linux/hwspinlock.h>
66 struct hwspinlock *hwlock;
92 dev_err(efuse->dev, "timeout get the hwspinlock\n"); in sprd_efuse_lock()
/kernel/linux/linux-5.10/drivers/irqchip/
H A Dirq-stm32-exti.c10 #include <linux/hwspinlock.h>
68 struct hwspinlock *hwlock;
304 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_irq_set_type()
313 pr_err("%s can't get hwspinlock (%d)\n", __func__, err); in stm32_irq_set_type()
507 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_exti_h_set_type()
517 pr_err("%s can't get hwspinlock (%d)\n", __func__, err); in stm32_exti_h_set_type()
855 /* check for optional hwspinlock which may be not available yet */ in stm32_exti_probe()
858 /* hwspinlock framework not yet ready */ in stm32_exti_probe()
864 dev_err(dev, "Failed to request hwspinlock\n"); in stm32_exti_probe()
868 /* note: ENOENT is a valid case (means 'no hwspinlock') */ in stm32_exti_probe()
[all...]
/kernel/linux/linux-6.6/drivers/irqchip/
H A Dirq-stm32-exti.c10 #include <linux/hwspinlock.h>
63 struct hwspinlock *hwlock;
361 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_irq_set_type()
370 pr_err("%s can't get hwspinlock (%d)\n", __func__, err); in stm32_irq_set_type()
564 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_exti_h_set_type()
574 pr_err("%s can't get hwspinlock (%d)\n", __func__, err); in stm32_exti_h_set_type()
920 /* check for optional hwspinlock which may be not available yet */ in stm32_exti_probe()
923 /* hwspinlock framework not yet ready */ in stm32_exti_probe()
929 dev_err(dev, "Failed to request hwspinlock\n"); in stm32_exti_probe()
933 /* note: ENOENT is a valid case (means 'no hwspinlock') */ in stm32_exti_probe()
[all...]
/kernel/linux/linux-5.10/drivers/iio/adc/
H A Dsc27xx_adc.c4 #include <linux/hwspinlock.h>
77 struct hwspinlock *hwlock;
196 dev_err(data->dev, "timeout to get the hwspinlock\n"); in sc27xx_adc_read()
512 dev_err(dev, "failed to get hwspinlock id\n"); in sc27xx_adc_probe()
518 dev_err(dev, "failed to request hwspinlock\n"); in sc27xx_adc_probe()

Completed in 13 milliseconds

12