There's also the new unaligned access helpers that do byteswapping if
required:
u16 get_unaligned_le16
u32 get_unaligned_le32
u64 get_unaligned_le64
u16 get_unaligned_be16
u32 get_unaligned_be32
u64 get_unaligned_be64
Which returns a cpu-endian value from a (possibly) unaligned pointer
stored in the given endianness.
void put_unaligned_le16
void put_unaligned_le32
void put_unaligned_le64
void put_unaligned_be16
void put_unaligned_be32
void put_unaligned_be64
Which stores a cpu-endian value to a (possibly) unaligned pointer
in the given endianness.