ieee802154: rename and move WPAN_NUM_ defines
This patch moves the 802.15.4 constraints WPAN_NUM_ defines into "net/ieee802154.h" which should contain all necessary 802.15.4 related information. Also rename these defines to a common name which is IEEE802154_MAX_CHANNEL and IEEE802154_MAX_PAGE. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
b821ecd4c8
commit
cb41c8dd01
3 changed files with 7 additions and 11 deletions
|
@ -39,6 +39,9 @@
|
|||
#define IEEE802154_LIFS_PERIOD 40
|
||||
#define IEEE802154_SIFS_PERIOD 12
|
||||
|
||||
#define IEEE802154_MAX_CHANNEL 26
|
||||
#define IEEE802154_MAX_PAGE 31
|
||||
|
||||
#define IEEE802154_FC_TYPE_BEACON 0x0 /* Frame is beacon */
|
||||
#define IEEE802154_FC_TYPE_DATA 0x1 /* Frame is data */
|
||||
#define IEEE802154_FC_TYPE_ACK 0x2 /* Frame is acknowledgment */
|
||||
|
|
|
@ -17,20 +17,13 @@
|
|||
#ifndef __NET_CFG802154_H
|
||||
#define __NET_CFG802154_H
|
||||
|
||||
#include <linux/ieee802154.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/bug.h>
|
||||
|
||||
#include <net/nl802154.h>
|
||||
|
||||
/* According to the IEEE 802.15.4 stadard the upper most significant bits of
|
||||
* the 32-bit channel bitmaps shall be used as an integer value to specify 32
|
||||
* possible channel pages. The lower 27 bits of the channel bit map shall be
|
||||
* used as a bit mask to specify channel numbers within a channel page.
|
||||
*/
|
||||
#define WPAN_NUM_CHANNELS 27
|
||||
#define WPAN_NUM_PAGES 32
|
||||
|
||||
struct wpan_phy;
|
||||
|
||||
struct cfg802154_ops {
|
||||
|
@ -81,7 +74,7 @@ struct wpan_phy {
|
|||
*/
|
||||
u8 current_channel;
|
||||
u8 current_page;
|
||||
u32 channels_supported[32];
|
||||
u32 channels_supported[IEEE802154_MAX_PAGE + 1];
|
||||
s8 transmit_power;
|
||||
u8 cca_mode;
|
||||
|
||||
|
|
|
@ -245,7 +245,7 @@ nl802154_send_wpan_phy_channels(struct cfg802154_registered_device *rdev,
|
|||
if (!nl_page)
|
||||
return -ENOBUFS;
|
||||
|
||||
for (page = 0; page < WPAN_NUM_PAGES; page++) {
|
||||
for (page = 0; page <= IEEE802154_MAX_PAGE; page++) {
|
||||
if (nla_put_u32(msg, NL802154_ATTR_SUPPORTED_CHANNEL,
|
||||
rdev->wpan_phy.channels_supported[page]))
|
||||
return -ENOBUFS;
|
||||
|
@ -616,7 +616,7 @@ static int nl802154_set_channel(struct sk_buff *skb, struct genl_info *info)
|
|||
channel = nla_get_u8(info->attrs[NL802154_ATTR_CHANNEL]);
|
||||
|
||||
/* check 802.15.4 constraints */
|
||||
if (page >= WPAN_NUM_PAGES || channel >= WPAN_NUM_CHANNELS)
|
||||
if (page > IEEE802154_MAX_PAGE || channel > IEEE802154_MAX_CHANNEL)
|
||||
return -EINVAL;
|
||||
|
||||
return rdev_set_channel(rdev, page, channel);
|
||||
|
|
Loading…
Reference in a new issue