-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
{dev,net}/ieee802154_*: add initial Kconfig modeling #16842
Conversation
I think this needs a rebase before review |
@jia200x this needs a rebase |
0625b1f
to
4b09a3d
Compare
4b09a3d
to
a8590f1
Compare
is there anything missing here? |
Yes, I have some unanswered comments, I think currently the submac test does not build |
drivers/Kconfig.net
Outdated
select HAVE_IEEE802154_RADIO | ||
bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: can you invert the order of these two lines?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
config MODULE_NETDEV_IEEE802154 | ||
bool | ||
help | ||
Netdev IEEE 802.15.4 module, provides common functionalities for | ||
netdev based IEEE 802.15.4 devices. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this and the feature better be placed in drivers/netdev
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Things get a bit spread out. I will have to take a closer look what belongs where.
@@ -4,26 +4,38 @@ | |||
# General Public License v2.1. See the file LICENSE in the top level | |||
# directory for more details. | |||
|
|||
menuconfig MODULE_IEEE802154 | |||
bool "IEEE 802.15.4 support" | |||
menuconfig FEATURE_IEEE802154 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can just call this IEEE802154
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done, though I think we should rename the module to IEEE802154_HELPERS
. A networking newbie like myself can get easily confused,,,
depends on TEST_KCONFIG | ||
default y if HAVE_IEEE802154_RADIO && MODULE_NETDEV_DEFAULT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want MODULE_NETDEV_DEFAULT
to enable this or only the drivers? (similar to SAUL).
If we are keeping this I would suggest to hide the prompt, as it is no longer optional not to have it:
bool
prompt "IEEE 802.15.4 support" if !(HAVE_IEEE802154_RADIO && MODULE_NETDEV_DEFAULT)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
if FEATURE_IEEE802154 | ||
|
||
config MODULE_IEEE802154 | ||
bool "IEEE 802.15.4 helpers" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this default y
? Moreover, does it make sense that the user disables this when they want IEEE 802.15.4 support?
menuconfig MODULE_IEEE802154 | ||
bool "IEEE 802.15.4 support" | ||
menuconfig FEATURE_IEEE802154 | ||
bool "Enable IEEE 802.15.4 support" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to have some documentation as this is no minor module.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will leave that to @jia200x
|
||
config MODULE_IEEE802154_SECURITY | ||
bool "IEEE 802.15.4 security" | ||
select MODULE_CRYPTO | ||
select MODULE_CIPHER_MODES | ||
depends on TEST_KCONFIG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It already depends on FEATURE_IEEE802154
because it's inside the if
, also you can drop the dependency on TEST_KCONFIG
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
depends on FEATURE_IEEE802154 | ||
depends on TEST_KCONFIG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
cpu/nrf52/radio/nrf802154/Kconfig
Outdated
@@ -8,5 +8,6 @@ | |||
config HAS_RADIO_NRF802154 | |||
bool | |||
select HAVE_NRF5X_RADIO | |||
select MODULE_NRF802154 if MODULE_NETDEV_DEFAULT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this also select the symbol that indicates that there is a 802.15.4 radio present?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this cannot actually select the module here.
As MODULE_NRF802154
is part of a choice I added that to be the default choice. If the bluetooth stack is used then that choice can be overridden to select the BLE one first... I think.
a8590f1
to
8615a3d
Compare
I rebased and fixed some of the comments from @leandrolanzieri |
Still some issues @MrKevinWeiss (assuming you are taking over) |
I think @leandrolanzieri is working on a broader solution that will make this obsolete... |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
@MrKevinWeiss this now outdated, right? Can it be closed? |
Yup |
Contribution description
This PR add the initial Kconfig modeling for the lower layers of IEEE 802.15.4. This includes:
netdev_ieee802154_submac
tests/ieee802154_submac
to the list of Kconfig test executed by MurdockThis PR also refactors the IEEE 802.15.4 menu, because
MODULE_IEEE802154
just provides helper functions for processing IEEE 802.15.4 frames. Last but not least, it removes unused configurations innrf802154
.Testing procedure
Murdock should be enough I guess.
Issues/PRs references
Depends on #16837