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

/linux-master/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...]
/linux-master/drivers/hwspinlock/
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 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 Du8500_hsem.c21 #include <linux/hwspinlock.h>
50 static int u8500_hsem_trylock(struct hwspinlock *lock)
63 static void u8500_hsem_unlock(struct hwspinlock *lock)
74 static void u8500_hsem_relax(struct hwspinlock *lock)
89 struct hwspinlock *hwlock;
H A Domap_hwspinlock.c22 #include <linux/hwspinlock.h>
38 static int omap_hwspinlock_trylock(struct hwspinlock *lock)
46 static void omap_hwspinlock_unlock(struct hwspinlock *lock)
64 static void omap_hwspinlock_relax(struct hwspinlock *lock)
80 /* Only a single hwspinlock block device is supported */
127 { .compatible = "ti,omap4-hwspinlock", },
128 { .compatible = "ti,am64-hwspinlock", },
129 { .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)
54 "hwspinlock [%d] lock failed and master/user id = %d!\n",
60 static void sprd_hwspinlock_unlock(struct hwspinlock *lock)
68 static void sprd_hwspinlock_relax(struct hwspinlock *lock)
89 struct hwspinlock *lock;
107 dev_err(&pdev->dev, "get hwspinlock clock failed!\n");
119 "Failed to add hwspinlock disabl
[all...]
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)
70 static void sun6i_hwspinlock_unlock(struct hwspinlock *lock)
94 struct hwspinlock *hwlock;
132 * bit 28 and 29 represents the hwspinlock setup
153 dev_err(&pdev->dev, "unsupported hwspinlock setup (%d)\n", num_banks);
176 dev_err(&pdev->dev, "failed to add hwspinlock disable action\n");
194 { .compatible = "allwinner,sun6i-a31-hwspinlock", },
H A Dstm32_hwspinlock.c9 #include <linux/hwspinlock.h>
28 static int stm32_hwspinlock_trylock(struct hwspinlock *lock)
39 static void stm32_hwspinlock_unlock(struct hwspinlock *lock)
46 static void stm32_hwspinlock_relax(struct hwspinlock *lock)
116 dev_err(dev, "Failed to register hwspinlock\n");
146 { .compatible = "st,stm32-hwspinlock", },
H A Dqcom_hwspinlock.c7 #include <linux/hwspinlock.h>
28 static int qcom_hwspinlock_trylock(struct hwspinlock *lock)
45 static void qcom_hwspinlock_unlock(struct hwspinlock *lock)
194 array_size = QCOM_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock);
/linux-master/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");
228 dev_err(&pdev->dev, "failed to get hwspinlock id\n");
234 dev_err(&pdev->dev, "failed to request hwspinlock\n");
H A Dsprd-efuse.c6 #include <linux/hwspinlock.h>
66 struct hwspinlock *hwlock;
92 dev_err(efuse->dev, "timeout get the hwspinlock\n");
/linux-master/drivers/base/regmap/
H A Dinternal.h177 struct hwspinlock *hwlock;
H A Dregmap.c19 #include <linux/hwspinlock.h>
/linux-master/drivers/irqchip/
H A Dirq-stm32-exti.c10 #include <linux/hwspinlock.h>
79 struct hwspinlock *hwlock;
383 struct hwspinlock *hwlock = chip_data->host_data->hwlock;
392 pr_err("%s can't get hwspinlock (%d)\n", __func__, err);
586 struct hwspinlock *hwlock = chip_data->host_data->hwlock;
596 pr_err("%s can't get hwspinlock (%d)\n", __func__, err);
967 /* check for optional hwspinlock which may be not available yet */
970 /* hwspinlock framework not yet ready */
976 dev_err(dev, "Failed to request hwspinlock\n");
980 /* note: ENOENT is a valid case (means 'no hwspinlock') */
[all...]
/linux-master/drivers/iio/adc/
H A Dsc27xx_adc.c4 #include <linux/hwspinlock.h>
92 struct hwspinlock *hwlock;
492 dev_err(data->dev, "timeout to get the hwspinlock\n");
900 dev_err(dev, "failed to get hwspinlock id\n");
906 dev_err(dev, "failed to request hwspinlock\n");
/linux-master/drivers/spi/
H A Dspi-sprd-adi.c8 #include <linux/hwspinlock.h>
149 struct hwspinlock *hwlock;
/linux-master/drivers/
H A DMakefile159 obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
/linux-master/drivers/mfd/
H A Dsyscon.c13 #include <linux/hwspinlock.h>
/linux-master/drivers/soc/qcom/
H A Dsmem.c7 #include <linux/hwspinlock.h>
267 * @hwlock: reference to a hwspinlock
279 struct hwspinlock *hwlock;
/linux-master/drivers/pinctrl/stm32/
H A Dpinctrl-stm32.c11 #include <linux/hwspinlock.h>
116 struct hwspinlock *hwlock;
437 dev_err(pctl->dev, "Can't get hwspinlock\n");
773 dev_err(pctl->dev, "Can't get hwspinlock\n");
906 dev_err(pctl->dev, "Can't get hwspinlock\n");
957 dev_err(pctl->dev, "Can't get hwspinlock\n");
1008 dev_err(pctl->dev, "Can't get hwspinlock\n");
1546 /* hwspinlock is optional */

Completed in 470 milliseconds