mac802154: fix byteorder issues

Running make C=2 occurs these warnings:

cast from restricted __be64
incorrect type in argument 1 (different base types)
expected unsigned long long[unsigned] [usertype] val
got restricted __be64 [usertype]<noident>
cast from restricted __be64
cast to restricted __le64

This patch fix these warnings by forcing to __le64 type and using swabp64
instead swab64.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Reported-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2014-11-02 21:43:03 +01:00 committed by Marcel Holtmann
parent c28bee84c5
commit f753f7eeb4

View File

@ -215,12 +215,12 @@ struct ieee802154_ops {
};
/**
* ieee802154_netdev_to_extended_addr - convert __be64 u8 pointer to __le64
* ieee802154_netdev_to_extended_addr - convert big endian 64 byte void 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)
static inline __le64 ieee802154_netdev_to_extended_addr(const void *dev_addr)
{
return (__le64)swab64(*((__be64 *)dev_addr));
return (__force __le64)swab64p(dev_addr);
}
/* Basic interface to register ieee802154 hwice */