* [PATCH v1 0/2] ieee802154: use macros to replace hard-coded channel masks @ 2025-11-25 8:56 Les Boys 2025-11-25 9:36 ` [PATCH v1 1/2] include: add macros for ieee 802.15.4 " Les Boys 0 siblings, 1 reply; 6+ messages in thread From: Les Boys @ 2025-11-25 8:56 UTC (permalink / raw) To: linux-wpan@vger.kernel.org Cc: linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org, miquel.raynal@bootlin.com (Cleanup) It was noticed that in the previous implementation, the channel masks were hard-coded in the source code. This patch extracts all channel masks into a header file. Commits: 1. include: add macros for ieee 802.15.4 channel masks 2. net/ieee802154: use channel mask macros replace the hard-coded magic number ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v1 1/2] include: add macros for ieee 802.15.4 channel masks 2025-11-25 8:56 [PATCH v1 0/2] ieee802154: use macros to replace hard-coded channel masks Les Boys @ 2025-11-25 9:36 ` Les Boys 2025-11-25 9:41 ` [PATCH v1 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys 0 siblings, 1 reply; 6+ messages in thread From: Les Boys @ 2025-11-25 9:36 UTC (permalink / raw) To: linux-wpan@vger.kernel.org Cc: linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org, miquel.raynal@bootlin.com This commit defined all the 15 possible channel masks in <linux/ieee802154.h>. --- include/linux/ieee802154.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/linux/ieee802154.h b/include/linux/ieee802154.h index 140f61ec0..cd42f28a9 100644 --- a/include/linux/ieee802154.h +++ b/include/linux/ieee802154.h @@ -58,6 +58,22 @@ #define IEEE802154_MAX_CHANNEL 26 #define IEEE802154_MAX_PAGE 31 +#define IEEE802154_CHAN_750M_O_QPSK 0xf /* 750 MHz O-QPSK 802.15.4c-2009 */ +#define IEEE802154_CHAN_750M_MPSK 0xf0 /* 750 MHz MPSK 802.15.4c-2009 */ +#define IEEE802154_CHAN_868M_ASK 0x1 /* 868 MHz ASK 802.15.4-2006 */ +#define IEEE802154_CHAN_868M_BPSK 0x1 /* 868 MHz BPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_868M_O_QPSK 0x1 /* 868 MHz O-QPSK 802.15.4-2006 */ +#define IEEE802154_CHAN_915M_ASK 0x7FE /* 915 MHz ASK 802.15.4-2006 */ +#define IEEE802154_CHAN_915M_BPSK 0x7FE /* 915 MHz BPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_915M_O_QPSK 0x7FE /* 915 MHz O-QPSK 802.15.4-2006 */ +#define IEEE802154_CHAN_950M_BPSK 0x3FF /* 950 MHz BPSK 802.15.4d-2009 */ +#define IEEE802154_CHAN_950M_GFSK 0x3FFC00 /* 950 MHz GFSK 802.15.4d-2009 */ +#define IEEE802154_CHAN_2D4G_O_QPSK 0x7FFF800 /* 2.4 GHz O-QPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_2D4G_CSS 0x3FFF /* 2.4 GHz CSS 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_SUBGIGA 0x1 /* UWB Sub-gigahertz 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_LOWBAND 0x1E /* UWB Low Band 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_HIGHBAND 0xFFE0 /* UWB High Band 802.15.4a-2007 */ + #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 */ -- 2.44.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number 2025-11-25 9:36 ` [PATCH v1 1/2] include: add macros for ieee 802.15.4 " Les Boys @ 2025-11-25 9:41 ` Les Boys 2025-11-25 15:11 ` Miquel Raynal 0 siblings, 1 reply; 6+ messages in thread From: Les Boys @ 2025-11-25 9:41 UTC (permalink / raw) To: linux-wpan@vger.kernel.org Cc: linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org, miquel.raynal@bootlin.com This commit replaced all the hard-coded magic numbers to macros defined in previous commit. --- drivers/net/ieee802154/adf7242.c | 2 +- drivers/net/ieee802154/at86rf230.c | 4 +- drivers/net/ieee802154/atusb.c | 5 ++- drivers/net/ieee802154/cc2520.c | 2 +- drivers/net/ieee802154/fakelb.c | 47 +++++++++--------------- drivers/net/ieee802154/mac802154_hwsim.c | 46 ++++++++--------------- 6 files changed, 40 insertions(+), 66 deletions(-) diff --git a/drivers/net/ieee802154/adf7242.c b/drivers/net/ieee802154/adf7242.c index cc7ddc400..cc6324dfe 100644 --- a/drivers/net/ieee802154/adf7242.c +++ b/drivers/net/ieee802154/adf7242.c @@ -1212,7 +1212,7 @@ static int adf7242_probe(struct spi_device *spi) hw->extra_tx_headroom = 0; /* We support only 2.4 Ghz */ - hw->phy->supported.channels[0] = 0x7FFF800; + hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_CSMA_PARAMS | diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index fd91f8a45..145a2ef0f 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -1470,7 +1470,7 @@ at86rf230_detect_device(struct at86rf230_local *lp) case 3: chip = "at86rf231"; lp->data = &at86rf231_data; - lp->hw->phy->supported.channels[0] = 0x7FFF800; + lp->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; lp->hw->phy->current_channel = 11; lp->hw->phy->supported.tx_powers = at86rf231_powers; lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf231_powers); @@ -1493,7 +1493,7 @@ at86rf230_detect_device(struct at86rf230_local *lp) case 11: chip = "at86rf233"; lp->data = &at86rf233_data; - lp->hw->phy->supported.channels[0] = 0x7FFF800; + lp->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; lp->hw->phy->current_channel = 13; lp->hw->phy->supported.tx_powers = at86rf233_powers; lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf233_powers); diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c index 95a4a3cdc..4724bd534 100644 --- a/drivers/net/ieee802154/atusb.c +++ b/drivers/net/ieee802154/atusb.c @@ -29,6 +29,7 @@ #include <linux/jiffies.h> #include <linux/usb.h> #include <linux/skbuff.h> +#include <linux/ieee802154.h> #include <net/cfg802154.h> #include <net/mac802154.h> @@ -858,7 +859,7 @@ static int atusb_get_and_conf_chip(struct atusb *atusb) switch (part_num) { case 2: chip = "AT86RF230"; - atusb->hw->phy->supported.channels[0] = 0x7FFF800; + atusb->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; atusb->hw->phy->current_channel = 11; /* reset default */ atusb->hw->phy->supported.tx_powers = atusb_powers; atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers); @@ -867,7 +868,7 @@ static int atusb_get_and_conf_chip(struct atusb *atusb) break; case 3: chip = "AT86RF231"; - atusb->hw->phy->supported.channels[0] = 0x7FFF800; + atusb->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; atusb->hw->phy->current_channel = 11; /* reset default */ atusb->hw->phy->supported.tx_powers = atusb_powers; atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers); diff --git a/drivers/net/ieee802154/cc2520.c b/drivers/net/ieee802154/cc2520.c index 2b7034193..7d8b08cc1 100644 --- a/drivers/net/ieee802154/cc2520.c +++ b/drivers/net/ieee802154/cc2520.c @@ -836,7 +836,7 @@ static int cc2520_register(struct cc2520_private *priv) ieee802154_random_extended_addr(&priv->hw->phy->perm_extended_addr); /* We do support only 2.4 Ghz */ - priv->hw->phy->supported.channels[0] = 0x7FFF800; + priv->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; priv->hw->flags = IEEE802154_HW_TX_OMIT_CKSUM | IEEE802154_HW_AFILT | IEEE802154_HW_PROMISCUOUS; diff --git a/drivers/net/ieee802154/fakelb.c b/drivers/net/ieee802154/fakelb.c index e11d8eda8..f672186ca 100644 --- a/drivers/net/ieee802154/fakelb.c +++ b/drivers/net/ieee802154/fakelb.c @@ -16,6 +16,7 @@ #include <linux/netdevice.h> #include <linux/device.h> #include <linux/spinlock.h> +#include <linux/ieee802154.h> #include <net/mac802154.h> #include <net/cfg802154.h> @@ -137,36 +138,22 @@ static int fakelb_add_one(struct device *dev) phy = hw->priv; phy->hw = hw; - /* 868 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 1; - /* 915 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7fe; - /* 2.4 GHz O-QPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7FFF800; - /* 868 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 1; - /* 915 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 0x7fe; - /* 868 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 1; - /* 915 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 0x7fe; - /* 2.4 GHz CSS 802.15.4a-2007 */ - hw->phy->supported.channels[3] |= 0x3fff; - /* UWB Sub-gigahertz 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 1; - /* UWB Low band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0x1e; - /* UWB High band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0xffe0; - /* 750 MHz O-QPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf; - /* 750 MHz MPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf0; - /* 950 MHz BPSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ff; - /* 950 MHz GFSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ffc00; + + hw->phy->supported.channels[0] |= IEEE802154_CHAN_868M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_915M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_2D4G_O_QPSK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_868M_ASK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_915M_ASK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_868M_O_QPSK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_915M_O_QPSK; + hw->phy->supported.channels[3] |= IEEE802154_CHAN_2D4G_CSS; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_SUBGIGA; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_LOWBAND; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_HIGHBAND; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_O_QPSK; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_MPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_BPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_GFSK; ieee802154_random_extended_addr(&hw->phy->perm_extended_addr); /* fake phy channel 13 as default */ diff --git a/drivers/net/ieee802154/mac802154_hwsim.c b/drivers/net/ieee802154/mac802154_hwsim.c index 1cab20b5a..d89396592 100644 --- a/drivers/net/ieee802154/mac802154_hwsim.c +++ b/drivers/net/ieee802154/mac802154_hwsim.c @@ -18,6 +18,7 @@ #include <linux/netdevice.h> #include <linux/device.h> #include <linux/spinlock.h> +#include <linux/ieee802154.h> #include <net/ieee802154_netdev.h> #include <net/mac802154.h> #include <net/cfg802154.h> @@ -911,36 +912,21 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev, phy = hw->priv; phy->hw = hw; - /* 868 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 1; - /* 915 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7fe; - /* 2.4 GHz O-QPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7FFF800; - /* 868 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 1; - /* 915 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 0x7fe; - /* 868 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 1; - /* 915 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 0x7fe; - /* 2.4 GHz CSS 802.15.4a-2007 */ - hw->phy->supported.channels[3] |= 0x3fff; - /* UWB Sub-gigahertz 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 1; - /* UWB Low band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0x1e; - /* UWB High band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0xffe0; - /* 750 MHz O-QPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf; - /* 750 MHz MPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf0; - /* 950 MHz BPSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ff; - /* 950 MHz GFSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ffc00; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_868M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_915M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_2D4G_O_QPSK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_868M_ASK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_915M_ASK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_868M_O_QPSK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_915M_O_QPSK; + hw->phy->supported.channels[3] |= IEEE802154_CHAN_2D4G_CSS; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_SUBGIGA; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_LOWBAND; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_HIGHBAND; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_O_QPSK; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_MPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_BPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_GFSK; ieee802154_random_extended_addr(&hw->phy->perm_extended_addr); -- 2.44.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number 2025-11-25 9:41 ` [PATCH v1 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys @ 2025-11-25 15:11 ` Miquel Raynal 2025-11-26 6:14 ` [PATCH v2 1/2] include: add macros for ieee 802.15.4 channel masks Les Boys 2025-11-26 6:16 ` [PATCH v2 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys 0 siblings, 2 replies; 6+ messages in thread From: Miquel Raynal @ 2025-11-25 15:11 UTC (permalink / raw) To: Les Boys Cc: linux-wpan@vger.kernel.org, linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org Hello, On 25/11/2025 at 09:41:30 GMT, Les Boys <lesboyspp43@outlook.com> wrote: > This commit replaced all the hard-coded magic numbers to macros defined in > previous commit. Can you please slightly rephrase into "Replace all the..." Maybe the title can be shortened a little bit as well. While I'm fine with this addition (I haven't checked all values), we would need a proper name and Signed-off-by tag. Thanks, Miquèl ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] include: add macros for ieee 802.15.4 channel masks 2025-11-25 15:11 ` Miquel Raynal @ 2025-11-26 6:14 ` Les Boys 2025-11-26 6:16 ` [PATCH v2 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys 1 sibling, 0 replies; 6+ messages in thread From: Les Boys @ 2025-11-26 6:14 UTC (permalink / raw) To: Miquel Raynal Cc: linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org, Miquel Raynal Defined all the 15 possible channel masks in <linux/ieee802154.h>. Signed-off-by: Les Boys <lesboyspp43@outlook.com> --- include/linux/ieee802154.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/linux/ieee802154.h b/include/linux/ieee802154.h index 140f61ec0..cd42f28a9 100644 --- a/include/linux/ieee802154.h +++ b/include/linux/ieee802154.h @@ -58,6 +58,22 @@ #define IEEE802154_MAX_CHANNEL 26 #define IEEE802154_MAX_PAGE 31 +#define IEEE802154_CHAN_750M_O_QPSK 0xf /* 750 MHz O-QPSK 802.15.4c-2009 */ +#define IEEE802154_CHAN_750M_MPSK 0xf0 /* 750 MHz MPSK 802.15.4c-2009 */ +#define IEEE802154_CHAN_868M_ASK 0x1 /* 868 MHz ASK 802.15.4-2006 */ +#define IEEE802154_CHAN_868M_BPSK 0x1 /* 868 MHz BPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_868M_O_QPSK 0x1 /* 868 MHz O-QPSK 802.15.4-2006 */ +#define IEEE802154_CHAN_915M_ASK 0x7FE /* 915 MHz ASK 802.15.4-2006 */ +#define IEEE802154_CHAN_915M_BPSK 0x7FE /* 915 MHz BPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_915M_O_QPSK 0x7FE /* 915 MHz O-QPSK 802.15.4-2006 */ +#define IEEE802154_CHAN_950M_BPSK 0x3FF /* 950 MHz BPSK 802.15.4d-2009 */ +#define IEEE802154_CHAN_950M_GFSK 0x3FFC00 /* 950 MHz GFSK 802.15.4d-2009 */ +#define IEEE802154_CHAN_2D4G_O_QPSK 0x7FFF800 /* 2.4 GHz O-QPSK 802.15.4-2003 */ +#define IEEE802154_CHAN_2D4G_CSS 0x3FFF /* 2.4 GHz CSS 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_SUBGIGA 0x1 /* UWB Sub-gigahertz 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_LOWBAND 0x1E /* UWB Low Band 802.15.4a-2007 */ +#define IEEE802154_CHAN_UWB_HIGHBAND 0xFFE0 /* UWB High Band 802.15.4a-2007 */ + #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 */ -- 2.44.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number 2025-11-25 15:11 ` Miquel Raynal 2025-11-26 6:14 ` [PATCH v2 1/2] include: add macros for ieee 802.15.4 channel masks Les Boys @ 2025-11-26 6:16 ` Les Boys 1 sibling, 0 replies; 6+ messages in thread From: Les Boys @ 2025-11-26 6:16 UTC (permalink / raw) To: Miquel Raynal Cc: linux-kernel@vger.kernel.org, alex.aring@gmail.com, stefan@datenfreihafen.org, Miquel Raynal Replaced all the hard-coded magic numbers to macros defined in previous commit. Signed-off-by: Les Boys <lesboyspp43@outlook.com> --- drivers/net/ieee802154/adf7242.c | 2 +- drivers/net/ieee802154/at86rf230.c | 4 +- drivers/net/ieee802154/atusb.c | 5 ++- drivers/net/ieee802154/cc2520.c | 2 +- drivers/net/ieee802154/fakelb.c | 47 +++++++++--------------- drivers/net/ieee802154/mac802154_hwsim.c | 46 ++++++++--------------- 6 files changed, 40 insertions(+), 66 deletions(-) diff --git a/drivers/net/ieee802154/adf7242.c b/drivers/net/ieee802154/adf7242.c index cc7ddc400..cc6324dfe 100644 --- a/drivers/net/ieee802154/adf7242.c +++ b/drivers/net/ieee802154/adf7242.c @@ -1212,7 +1212,7 @@ static int adf7242_probe(struct spi_device *spi) hw->extra_tx_headroom = 0; /* We support only 2.4 Ghz */ - hw->phy->supported.channels[0] = 0x7FFF800; + hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; hw->flags = IEEE802154_HW_OMIT_CKSUM | IEEE802154_HW_CSMA_PARAMS | diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index fd91f8a45..145a2ef0f 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -1470,7 +1470,7 @@ at86rf230_detect_device(struct at86rf230_local *lp) case 3: chip = "at86rf231"; lp->data = &at86rf231_data; - lp->hw->phy->supported.channels[0] = 0x7FFF800; + lp->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; lp->hw->phy->current_channel = 11; lp->hw->phy->supported.tx_powers = at86rf231_powers; lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf231_powers); @@ -1493,7 +1493,7 @@ at86rf230_detect_device(struct at86rf230_local *lp) case 11: chip = "at86rf233"; lp->data = &at86rf233_data; - lp->hw->phy->supported.channels[0] = 0x7FFF800; + lp->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; lp->hw->phy->current_channel = 13; lp->hw->phy->supported.tx_powers = at86rf233_powers; lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf233_powers); diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c index 95a4a3cdc..4724bd534 100644 --- a/drivers/net/ieee802154/atusb.c +++ b/drivers/net/ieee802154/atusb.c @@ -29,6 +29,7 @@ #include <linux/jiffies.h> #include <linux/usb.h> #include <linux/skbuff.h> +#include <linux/ieee802154.h> #include <net/cfg802154.h> #include <net/mac802154.h> @@ -858,7 +859,7 @@ static int atusb_get_and_conf_chip(struct atusb *atusb) switch (part_num) { case 2: chip = "AT86RF230"; - atusb->hw->phy->supported.channels[0] = 0x7FFF800; + atusb->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; atusb->hw->phy->current_channel = 11; /* reset default */ atusb->hw->phy->supported.tx_powers = atusb_powers; atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers); @@ -867,7 +868,7 @@ static int atusb_get_and_conf_chip(struct atusb *atusb) break; case 3: chip = "AT86RF231"; - atusb->hw->phy->supported.channels[0] = 0x7FFF800; + atusb->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; atusb->hw->phy->current_channel = 11; /* reset default */ atusb->hw->phy->supported.tx_powers = atusb_powers; atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers); diff --git a/drivers/net/ieee802154/cc2520.c b/drivers/net/ieee802154/cc2520.c index 2b7034193..7d8b08cc1 100644 --- a/drivers/net/ieee802154/cc2520.c +++ b/drivers/net/ieee802154/cc2520.c @@ -836,7 +836,7 @@ static int cc2520_register(struct cc2520_private *priv) ieee802154_random_extended_addr(&priv->hw->phy->perm_extended_addr); /* We do support only 2.4 Ghz */ - priv->hw->phy->supported.channels[0] = 0x7FFF800; + priv->hw->phy->supported.channels[0] = IEEE802154_CHAN_2D4G_O_QPSK; priv->hw->flags = IEEE802154_HW_TX_OMIT_CKSUM | IEEE802154_HW_AFILT | IEEE802154_HW_PROMISCUOUS; diff --git a/drivers/net/ieee802154/fakelb.c b/drivers/net/ieee802154/fakelb.c index e11d8eda8..f672186ca 100644 --- a/drivers/net/ieee802154/fakelb.c +++ b/drivers/net/ieee802154/fakelb.c @@ -16,6 +16,7 @@ #include <linux/netdevice.h> #include <linux/device.h> #include <linux/spinlock.h> +#include <linux/ieee802154.h> #include <net/mac802154.h> #include <net/cfg802154.h> @@ -137,36 +138,22 @@ static int fakelb_add_one(struct device *dev) phy = hw->priv; phy->hw = hw; - /* 868 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 1; - /* 915 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7fe; - /* 2.4 GHz O-QPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7FFF800; - /* 868 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 1; - /* 915 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 0x7fe; - /* 868 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 1; - /* 915 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 0x7fe; - /* 2.4 GHz CSS 802.15.4a-2007 */ - hw->phy->supported.channels[3] |= 0x3fff; - /* UWB Sub-gigahertz 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 1; - /* UWB Low band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0x1e; - /* UWB High band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0xffe0; - /* 750 MHz O-QPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf; - /* 750 MHz MPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf0; - /* 950 MHz BPSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ff; - /* 950 MHz GFSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ffc00; + + hw->phy->supported.channels[0] |= IEEE802154_CHAN_868M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_915M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_2D4G_O_QPSK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_868M_ASK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_915M_ASK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_868M_O_QPSK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_915M_O_QPSK; + hw->phy->supported.channels[3] |= IEEE802154_CHAN_2D4G_CSS; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_SUBGIGA; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_LOWBAND; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_HIGHBAND; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_O_QPSK; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_MPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_BPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_GFSK; ieee802154_random_extended_addr(&hw->phy->perm_extended_addr); /* fake phy channel 13 as default */ diff --git a/drivers/net/ieee802154/mac802154_hwsim.c b/drivers/net/ieee802154/mac802154_hwsim.c index 1cab20b5a..d89396592 100644 --- a/drivers/net/ieee802154/mac802154_hwsim.c +++ b/drivers/net/ieee802154/mac802154_hwsim.c @@ -18,6 +18,7 @@ #include <linux/netdevice.h> #include <linux/device.h> #include <linux/spinlock.h> +#include <linux/ieee802154.h> #include <net/ieee802154_netdev.h> #include <net/mac802154.h> #include <net/cfg802154.h> @@ -911,36 +912,21 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev, phy = hw->priv; phy->hw = hw; - /* 868 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 1; - /* 915 MHz BPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7fe; - /* 2.4 GHz O-QPSK 802.15.4-2003 */ - hw->phy->supported.channels[0] |= 0x7FFF800; - /* 868 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 1; - /* 915 MHz ASK 802.15.4-2006 */ - hw->phy->supported.channels[1] |= 0x7fe; - /* 868 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 1; - /* 915 MHz O-QPSK 802.15.4-2006 */ - hw->phy->supported.channels[2] |= 0x7fe; - /* 2.4 GHz CSS 802.15.4a-2007 */ - hw->phy->supported.channels[3] |= 0x3fff; - /* UWB Sub-gigahertz 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 1; - /* UWB Low band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0x1e; - /* UWB High band 802.15.4a-2007 */ - hw->phy->supported.channels[4] |= 0xffe0; - /* 750 MHz O-QPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf; - /* 750 MHz MPSK 802.15.4c-2009 */ - hw->phy->supported.channels[5] |= 0xf0; - /* 950 MHz BPSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ff; - /* 950 MHz GFSK 802.15.4d-2009 */ - hw->phy->supported.channels[6] |= 0x3ffc00; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_868M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_915M_BPSK; + hw->phy->supported.channels[0] |= IEEE802154_CHAN_2D4G_O_QPSK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_868M_ASK; + hw->phy->supported.channels[1] |= IEEE802154_CHAN_915M_ASK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_868M_O_QPSK; + hw->phy->supported.channels[2] |= IEEE802154_CHAN_915M_O_QPSK; + hw->phy->supported.channels[3] |= IEEE802154_CHAN_2D4G_CSS; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_SUBGIGA; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_LOWBAND; + hw->phy->supported.channels[4] |= IEEE802154_CHAN_UWB_HIGHBAND; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_O_QPSK; + hw->phy->supported.channels[5] |= IEEE802154_CHAN_750M_MPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_BPSK; + hw->phy->supported.channels[6] |= IEEE802154_CHAN_950M_GFSK; ieee802154_random_extended_addr(&hw->phy->perm_extended_addr); -- 2.44.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-26 6:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-25 8:56 [PATCH v1 0/2] ieee802154: use macros to replace hard-coded channel masks Les Boys 2025-11-25 9:36 ` [PATCH v1 1/2] include: add macros for ieee 802.15.4 " Les Boys 2025-11-25 9:41 ` [PATCH v1 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys 2025-11-25 15:11 ` Miquel Raynal 2025-11-26 6:14 ` [PATCH v2 1/2] include: add macros for ieee 802.15.4 channel masks Les Boys 2025-11-26 6:16 ` [PATCH v2 2/2] net/ieee802154: use channel mask macros replace the hard-coded magic number Les Boys
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox