mac802154: add helper for converting dev_addr
authorAlexander Aring <alex.aring@gmail.com>
Sun, 2 Nov 2014 03:18:40 +0000 (04:18 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 2 Nov 2014 03:51:07 +0000 (04:51 +0100)
This patch adds a helper for converting the dev_addr attribute in
netdevice to __le64 type. The dev_addr attribute is a char pointer
and contains the extended address in big endian byte order.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/mac802154.h

index 8f1de6844cb0f09c01cdc0dc1ef646b697d892e7..c17acbd0dadcd0f4f3ef57fe9ad74ba5d70b5b27 100644 (file)
@@ -214,6 +214,15 @@ struct ieee802154_ops {
                                                const bool on);
 };
 
+/**
+ * ieee802154_netdev_to_extended_addr - convert __be64 u8 pointer to __le64
+ * @dev_addr: big endian address pointer like netdevice dev_addr attribute
+ */
+static inline __le64 ieee802154_netdev_to_extended_addr(const u8 *dev_addr)
+{
+       return (__le64)swab64(*((__be64 *)dev_addr));
+}
+
 /* Basic interface to register ieee802154 hwice */
 struct ieee802154_hw *
 ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops);