summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-08-30 11:33:34 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-08-30 11:33:34 -0700
commit4aed6ee53fcc012ea599f1be6b2c8d76cb7f7354 (patch)
treef5bb7abd551872cdfdd7fd78616407ccb8dff5bb /include
parentaa99f3c2b9c797d8fee28c674a2cbb5adb2ce2ef (diff)
parentca5537c9be13c205492e704c5a3016f54b2fefec (diff)
Merge tag 'regmap-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap updates from Mark Brown: "A few small fixes for regmaps this time, plus support for allowing drivers to select raw spinlocks for the locks in order to allow usage in interrutpt controllers" * tag 'regmap-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: teach regmap to use raw spinlocks if requested in the config regmap: allow const array for {devm_,}regmap_field_bulk_alloc reg_fields regmap: Prefer unsigned int to bare use of unsigned regmap: fix the offset of register error log
Diffstat (limited to 'include')
-rw-r--r--include/linux/regmap.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index f5f08dd0a116..e3c9a25a853a 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -344,6 +344,7 @@ typedef void (*regmap_unlock)(void *);
* @ranges: Array of configuration entries for virtual address ranges.
* @num_ranges: Number of range configuration entries.
* @use_hwlock: Indicate if a hardware spinlock should be used.
+ * @use_raw_spinlock: Indicate if a raw spinlock should be used.
* @hwlock_id: Specify the hardware spinlock id.
* @hwlock_mode: The hardware spinlock mode, should be HWLOCK_IRQSTATE,
* HWLOCK_IRQ or 0.
@@ -403,6 +404,7 @@ struct regmap_config {
unsigned int num_ranges;
bool use_hwlock;
+ bool use_raw_spinlock;
unsigned int hwlock_id;
unsigned int hwlock_mode;
@@ -1269,12 +1271,13 @@ void devm_regmap_field_free(struct device *dev, struct regmap_field *field);
int regmap_field_bulk_alloc(struct regmap *regmap,
struct regmap_field **rm_field,
- struct reg_field *reg_field,
+ const struct reg_field *reg_field,
int num_fields);
void regmap_field_bulk_free(struct regmap_field *field);
int devm_regmap_field_bulk_alloc(struct device *dev, struct regmap *regmap,
struct regmap_field **field,
- struct reg_field *reg_field, int num_fields);
+ const struct reg_field *reg_field,
+ int num_fields);
void devm_regmap_field_bulk_free(struct device *dev,
struct regmap_field *field);