summaryrefslogtreecommitdiff
path: root/include/linux/swab.h
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2022-09-01 00:27:42 +0300
committerMark Brown <broonie@kernel.org>2022-09-07 12:42:25 +0100
commit2d4697375dea514be202abf563a9419e74489c25 (patch)
treeef4c8eeaf3162de507b779ababa99e9aae4f9183 /include/linux/swab.h
parent6ed406ef9f74372282c3b515e64986120823f769 (diff)
swab: Add array operations
For now, some simple array operations to swab. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20220831212744.56435-1-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/linux/swab.h')
-rw-r--r--include/linux/swab.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/swab.h b/include/linux/swab.h
index bcff5149861a..9b804dbb0d79 100644
--- a/include/linux/swab.h
+++ b/include/linux/swab.h
@@ -20,4 +20,29 @@
# define swab64s __swab64s
# define swahw32s __swahw32s
# define swahb32s __swahb32s
+
+static inline void swab16_array(u16 *buf, unsigned int words)
+{
+ while (words--) {
+ swab16s(buf);
+ buf++;
+ }
+}
+
+static inline void swab32_array(u32 *buf, unsigned int words)
+{
+ while (words--) {
+ swab32s(buf);
+ buf++;
+ }
+}
+
+static inline void swab64_array(u64 *buf, unsigned int words)
+{
+ while (words--) {
+ swab64s(buf);
+ buf++;
+ }
+}
+
#endif /* _LINUX_SWAB_H */