summaryrefslogtreecommitdiff
path: root/drivers/base/regmap/internal.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-06-12 20:14:53 +0300
committerMark Brown <broonie@kernel.org>2023-06-12 20:14:53 +0300
commitecfb8ce26d02ec136b4e1ae8c5a77d22d335057b (patch)
tree8522d119de65b2bb5a7d6665ce7d342982363994 /drivers/base/regmap/internal.h
parentd32758acbd4eee8ce95b705a6760526b4d26c2aa (diff)
parent155a6bd6375b584c8bdbf963b8ddef672ff9aca3 (diff)
downloadlinux-ecfb8ce26d02ec136b4e1ae8c5a77d22d335057b.tar.xz
regmap: Provide basic test coverage for raw I/O
Merge series from Mark Brown <broonie@kernel.org>: Our existing coverage only deals with buses that provide single register read and write operations, extend it to cover raw buses using a similar approach with a RAM backed register map that the tests can inspect to check operations. This coverage could be more complete but provides a good start.
Diffstat (limited to 'drivers/base/regmap/internal.h')
-rw-r--r--drivers/base/regmap/internal.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h
index 00848303b193..7211babbe4ee 100644
--- a/drivers/base/regmap/internal.h
+++ b/drivers/base/regmap/internal.h
@@ -314,6 +314,7 @@ struct regmap_ram_data {
unsigned int *vals; /* Allocatd by caller */
bool *read;
bool *written;
+ enum regmap_endian reg_endian;
};
/*
@@ -328,5 +329,12 @@ struct regmap *__regmap_init_ram(const struct regmap_config *config,
#define regmap_init_ram(config, data) \
__regmap_lockdep_wrapper(__regmap_init_ram, #config, config, data)
+struct regmap *__regmap_init_raw_ram(const struct regmap_config *config,
+ struct regmap_ram_data *data,
+ struct lock_class_key *lock_key,
+ const char *lock_name);
+
+#define regmap_init_raw_ram(config, data) \
+ __regmap_lockdep_wrapper(__regmap_init_raw_ram, #config, config, data)
#endif