From: Alexander Aring Date: Wed, 5 Nov 2014 19:51:23 +0000 (+0100) Subject: mac802154: add ieee802154_le64_to_be64 X-Git-Tag: v5.15~16635^2~17^2~6^2~201 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=239a84a9a0bcbc7214eb93fb3ba76962de846239;p=platform%2Fkernel%2Flinux-starfive.git mac802154: add ieee802154_le64_to_be64 This patch adds a new function to convert a le64 to a be64. This is useful to translate an extended address to a netdev dev_addr. Signed-off-by: Alexander Aring Signed-off-by: Marcel Holtmann --- diff --git a/include/net/mac802154.h b/include/net/mac802154.h index 10711a6..cc188cb 100644 --- a/include/net/mac802154.h +++ b/include/net/mac802154.h @@ -17,6 +17,7 @@ #define NET_MAC802154_H #include +#include #include /* General MAC frame format: @@ -231,6 +232,18 @@ static inline __le64 ieee802154_netdev_to_extended_addr(const void *dev_addr) return (__force __le64)swab64p(dev_addr); } +/** + * ieee802154_le64_to_be64 - copies and convert le64 to be64 + * @be64_dst: be64 destination pointer + * @le64_src: le64 source pointer + */ +static inline void ieee802154_le64_to_be64(void *be64_dst, const void *le64_src) +{ + __be64 tmp = (__force __be64)swab64p(le64_src); + + memcpy(be64_dst, &tmp, IEEE802154_EXTENDED_ADDR_LEN); +} + /* Basic interface to register ieee802154 hwice */ struct ieee802154_hw * ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops);