summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-09-28 20:51:29 +0100
committerMark Brown <broonie@kernel.org>2020-09-28 20:51:29 +0100
commit013bc9e6f70d98eaf6e9f912db5cf11b5f7240d6 (patch)
treeb6fa5633d06d901b0ea3963a335c1d08142ec498 /include
parentd4edae9c508c845d92bd59c60c4089c3addad6a8 (diff)
parentea470b82f205fc1b0b5276575da519bb7d86db25 (diff)
downloadlwn-013bc9e6f70d98eaf6e9f912db5cf11b5f7240d6.tar.gz
lwn-013bc9e6f70d98eaf6e9f912db5cf11b5f7240d6.zip
Merge tag 'regmap-field-bulk-api' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-5.10
regmap: Add a bulk field API Useful for devices with many fields.
Diffstat (limited to 'include')
-rw-r--r--include/linux/regmap.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 1970ed59d49f..eafe833f0103 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -1150,6 +1150,17 @@ struct regmap_field *devm_regmap_field_alloc(struct device *dev,
struct regmap *regmap, struct reg_field reg_field);
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,
+ 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);
+void devm_regmap_field_bulk_free(struct device *dev,
+ struct regmap_field *field);
+
int regmap_field_read(struct regmap_field *field, unsigned int *val);
int regmap_field_update_bits_base(struct regmap_field *field,
unsigned int mask, unsigned int val,