Searched refs:hwspinlock (Results 1 - 20 of 20) sorted by relevance
/linux-master/include/linux/ |
H A D | hwspinlock.h | 16 /* 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 D | hwspinlock_internal.h | 19 * 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 D | hwspinlock_core.c | 20 #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 D | u8500_hsem.c | 21 #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 D | omap_hwspinlock.c | 22 #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 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) 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 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) 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 D | stm32_hwspinlock.c | 9 #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 D | qcom_hwspinlock.c | 7 #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 D | sc27xx-efuse.c | 4 #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 D | sprd-efuse.c | 6 #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 D | internal.h | 177 struct hwspinlock *hwlock;
|
H A D | regmap.c | 19 #include <linux/hwspinlock.h>
|
/linux-master/drivers/irqchip/ |
H A D | irq-stm32-exti.c | 10 #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 D | sc27xx_adc.c | 4 #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 D | spi-sprd-adi.c | 8 #include <linux/hwspinlock.h> 149 struct hwspinlock *hwlock;
|
/linux-master/drivers/ |
H A D | Makefile | 159 obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
|
/linux-master/drivers/mfd/ |
H A D | syscon.c | 13 #include <linux/hwspinlock.h>
|
/linux-master/drivers/soc/qcom/ |
H A D | smem.c | 7 #include <linux/hwspinlock.h> 267 * @hwlock: reference to a hwspinlock 279 struct hwspinlock *hwlock;
|
/linux-master/drivers/pinctrl/stm32/ |
H A D | pinctrl-stm32.c | 11 #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