diff options
| author | Anup Patel <apatel@ventanamicro.com> | 2025-08-18 09:39:02 +0530 |
|---|---|---|
| committer | Paul Walmsley <pjw@kernel.org> | 2025-09-24 19:32:00 -0600 |
| commit | 6f01c24f3a7525e953d514367a6d91b39c8f1f6a (patch) | |
| tree | 19c3ddf5d2fb78b3ad5f534a7fed30fdfedfcbe4 | |
| parent | ba879dfc0574878f3e08f217b2b4fdf845c426c0 (diff) | |
byteorder: Add memcpy_to_le32() and memcpy_from_le32()
Add common memcpy APIs for copying u32 array to/from __le32 array.
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Link: https://lore.kernel.org/r/20250818040920.272664-7-apatel@ventanamicro.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
| -rw-r--r-- | include/linux/byteorder/generic.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/byteorder/generic.h b/include/linux/byteorder/generic.h index c9a4c96c9943..b3705e8bbe2b 100644 --- a/include/linux/byteorder/generic.h +++ b/include/linux/byteorder/generic.h @@ -173,6 +173,22 @@ static inline void cpu_to_le32_array(u32 *buf, unsigned int words) } } +static inline void memcpy_from_le32(u32 *dst, const __le32 *src, size_t words) +{ + size_t i; + + for (i = 0; i < words; i++) + dst[i] = le32_to_cpu(src[i]); +} + +static inline void memcpy_to_le32(__le32 *dst, const u32 *src, size_t words) +{ + size_t i; + + for (i = 0; i < words; i++) + dst[i] = cpu_to_le32(src[i]); +} + static inline void be16_add_cpu(__be16 *var, u16 val) { *var = cpu_to_be16(be16_to_cpu(*var) + val); |
