zephyr/modules
Florian Grandel 1ee4d3ed77 net: l2: ieee802154: document L1/L2 sep. of concerns
The method ieee802154_radio_handle_ack() does not belong to the
PHY/radio layer but to the L2 layer. It is a callback called from the
radio layer into the L2 layer and to be implemented by all L2 stacks.
This is the same pattern as is used for ieee802154_init(). The
'_radio_' infix in this function is therefore confusing and
conceptually wrong.

This change fixes the naming inconsistency and extensively documents
its rationale.

It is assumed that the change can be made without prior deprecation of the
existing method as in the rare cases where users have implemented custom
radio drivers these will break in obvious ways and can easily be fixed.

Nevertheless such a rename would not be justified on its own if it were
not for an important conceptual reason:

The renamed function represents a generic "inversion-of-control" pattern
which will become important in the TSCH context: It allows for clean
separation of concerns between the PHY/radio driver layer and the
MAC/L2 layer even in situations where the radio driver needs to be
involved for performance or deterministic timing reasons. This
"inversion-of-control" pattern can be applied to negotiate timing
sensitive reception and transmission windows, it let's the L2 layer
deterministically timestamp information elements just-in-time with
internal radio timer counter values, etc.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-06-17 16:20:21 -04:00
..
TraceRecorder
canopennode init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
fatfs modules: fs: Add reentrant zephyr support 2023-03-13 11:58:57 +01:00
hal_ethos_u
hal_gigadevice
hal_infineon drivers: watchdog: Driver for Infineon watchdog 2023-05-24 19:42:50 -04:00
hal_nordic drivers: sensor: qdec_nrfx: Add multi-instance support for QDEC SHIM 2023-05-05 11:47:53 +02:00
hal_nxp
hal_rpi_pico drivers: misc: Add driver for RaspberryPi Pico PIO 2023-04-25 13:12:02 +02:00
liblc3
littlefs
loramac-node lora: compile drivers based on devicetree 2023-03-31 09:20:22 +02:00
lz4
mbedtls Bluetooth: Mesh: refactor mesh to use both tinycrypt and psa based crypto 2023-06-17 07:46:03 -04:00
nanopb
openthread net: l2: ieee802154: document L1/L2 sep. of concerns 2023-06-17 16:20:21 -04:00
segger tracing: sysview: implement RTT channel selection through KConfig 2023-06-08 06:51:03 -04:00
tflite-micro
thrift
trusted-firmware-a
trusted-firmware-m modules: tf-m: Add missing FWU API file 2023-06-05 10:48:31 -04:00
uoscore-uedhoc
zcbor
Kconfig mcuboot: move the MCUboot kconfig file to modules/ 2023-05-18 14:09:00 -04:00
Kconfig.altera
Kconfig.atmel
Kconfig.cmsis
Kconfig.cmsis_dsp
Kconfig.cmsis_nn
Kconfig.cypress
Kconfig.eos_s3
Kconfig.esp32 kconfig: add esp32s3 into configuration 2023-02-27 19:41:33 +01:00
Kconfig.imx
Kconfig.infineon drivers: spi: Add xmc4xxx driver 2023-03-03 17:20:17 +01:00
Kconfig.libmetal
Kconfig.lvgl modules: lvgl: replace LV_Z_DPI with LV_DPI_DEF 2023-06-13 07:26:29 -04:00
Kconfig.mcuboot mcuboot: move the MCUboot kconfig file to modules/ 2023-05-18 14:09:00 -04:00
Kconfig.mcux boards: xtensa: nxp_adsp_imx8m: Add UART support for the ADSP from i.MX8MP 2023-05-08 13:06:12 -05:00
Kconfig.microchip
Kconfig.nuvoton
Kconfig.open-amp open-amp: Fix compilation with cache enabled 2023-04-18 12:12:56 +02:00
Kconfig.s32
Kconfig.silabs
Kconfig.simplelink soc: arm: ti_simplelink: Add support for TI CC13X2X7 SoC series 2023-03-21 16:03:43 -04:00
Kconfig.sof
Kconfig.st drivers/sensor: add support to LSM6DSV16X IMU sensor 2023-05-18 11:43:36 -05:00
Kconfig.stm32 drivers: flash: stm32 ospi driver for the stm32h5x 2023-04-07 08:33:51 +00:00
Kconfig.sysbuild sysbuild: support Zephyr modules 2023-03-09 09:25:00 +01:00
Kconfig.syst modules: mipi-syst: support minimal C library 2023-06-17 07:31:26 -04:00
Kconfig.telink
Kconfig.tinycrypt
Kconfig.vega
Kconfig.wurthelektronik
Kconfig.xtensa
modules.cmake