summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2022-06-15 20:05:36 +0300
committerMark Brown <broonie@kernel.org>2022-06-15 20:06:48 +0300
commit6735988b140b558044107f96e62c231d8a8c7b9b (patch)
treebd1a36d8859d571053974f248ef6bf1ff857f108 /include
parentbf29a87cc65aa3fd138af8b04cd6bb12e51cdb2b (diff)
parentb23662406b1b225847b964e4549a5718c45f20d6 (diff)
downloadlinux-6735988b140b558044107f96e62c231d8a8c7b9b.tar.xz
ASoC: Add regmap_field helpers for simple bit operations
Merge series from Li Chen <lchen.firstlove@zohomail.com> This series proposes to add simple bit operations for setting, clearing and testing specific bits with regmap_field and uses them in one of the sunxi drivers.
Diffstat (limited to 'include')
-rw-r--r--include/linux/regmap.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 8952fa3d0d59..d5b08f4f0dc0 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -1336,6 +1336,22 @@ static inline int regmap_field_update_bits(struct regmap_field *field,
NULL, false, false);
}
+static inline int regmap_field_set_bits(struct regmap_field *field,
+ unsigned int bits)
+{
+ return regmap_field_update_bits_base(field, bits, bits, NULL, false,
+ false);
+}
+
+static inline int regmap_field_clear_bits(struct regmap_field *field,
+ unsigned int bits)
+{
+ return regmap_field_update_bits_base(field, bits, 0, NULL, false,
+ false);
+}
+
+int regmap_field_test_bits(struct regmap_field *field, unsigned int bits);
+
static inline int
regmap_field_force_update_bits(struct regmap_field *field,
unsigned int mask, unsigned int val)
@@ -1769,6 +1785,27 @@ regmap_field_force_update_bits(struct regmap_field *field,
return -EINVAL;
}
+static inline int regmap_field_set_bits(struct regmap_field *field,
+ unsigned int bits)
+{
+ WARN_ONCE(1, "regmap API is disabled");
+ return -EINVAL;
+}
+
+static inline int regmap_field_clear_bits(struct regmap_field *field,
+ unsigned int bits)
+{
+ WARN_ONCE(1, "regmap API is disabled");
+ return -EINVAL;
+}
+
+static inline int regmap_field_test_bits(struct regmap_field *field,
+ unsigned int bits)
+{
+ WARN_ONCE(1, "regmap API is disabled");
+ return -EINVAL;
+}
+
static inline int regmap_fields_write(struct regmap_field *field,
unsigned int id, unsigned int val)
{