[riot-notifications] [RIOT-OS/RIOT] drivers/netdev: cleanup dependencies and remove ieee802154_radio_hal pseudomodule (#15886)

Leandro Lanzieri notifications at github.com
Fri Jan 29 13:53:11 CET 2021


### Contribution description
Currently radio drivers that implement the IEEE 802.15.4 radio HAL allow switching to the netdev implementation when `netdev_ieee802154_legacy` module is included. In fact, that module and `ieee802154_radio_hal` are mutually exclusive, but can only be present on radio drivers that implement both interfaces. This PR tries to make a cleanup of all these dependencies.

- The current behaviour on radio drivers that implement both interfaces is kept as is
- Radios that only implement the netdev legacy interface, pull in `netdev_ieee802154_legacy`

With that there is only one checking point for all radios to know which interface is being used.

Additionally, the PR avoids pulling `netdev` when `netdev_default` is used, as actually that pseudomodule should bring the network devices available in the platform, which could potentially not use netdev (e.g. cc2538, nrf52). As an example, see that `tests/ieee802154_hal` application does not use any `netdev_%` modules (aside from `netdev_default`) anymore, as it only tests the radio HAL.

Finally, the PR adds some documentation on default configurations (`saul_default` and `netdev_default`). I can split this part if it makes reviewing easier.

### Testing procedure
- IEEE 802.15.4 radios that don't implement the radio HAL include now `netdev_ieee802154_legacy`, but the binaries should not change for them
- `tests/ieee802154_hal` still works on the supported boards, but no netdev dependencies should be pulled in

### Issues/PRs references
None

You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/15886

-- Commit Summary --

  * doc: add documentation on default configurations
  * drivers/Makefile.dep: don't pull netdev on netdev_default
  * treewide: remove ieee802154_radio_hal as pseudomodule

-- File Changes --

    M cpu/cc2538/Makefile.dep (5)
    M cpu/cc2538/include/cc2538_rf.h (4)
    M cpu/cc2538/radio/Makefile (7)
    M cpu/cc2538/radio/cc2538_rf.c (4)
    M cpu/nrf52/Makefile.dep (5)
    M cpu/nrf52/include/nrf802154.h (4)
    M cpu/nrf52/radio/nrf802154/Makefile (7)
    M doc/doxygen/src/getting-started.md (12)
    M doc/doxygen/src/porting-boards.md (23)
    M drivers/Makefile.dep (2)
    M drivers/at86rf215/Makefile.dep (4)
    M drivers/at86rf2xx/Makefile.dep (4)
    M drivers/cc2420/Makefile.dep (4)
    M drivers/kw2xrf/Makefile.dep (4)
    M drivers/kw41zrf/Makefile.dep (4)
    M drivers/mrf24j40/Makefile.dep (4)
    M makefiles/pseudomodules.inc.mk (1)
    M pkg/openwsn/Makefile.dep (1)
    M sys/Makefile.dep (6)
    M sys/include/net/ieee802154_security.h (2)
    M tests/ieee802154_hal/Makefile (1)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/15886.patch
https://github.com/RIOT-OS/RIOT/pull/15886.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15886
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210129/2b87ddc6/attachment.htm>


More information about the notifications mailing list