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
..
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 modules: add an Arm Ethos-U HAL module 2022-11-15 14:47:43 +01:00
hal_gigadevice soc: gd32a50x: introduce gd32a50x soc series 2023-01-12 21:45:38 +01:00
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: nxp: Check Kconfig before including HAL 2022-11-01 21:41:55 -05:00
hal_rpi_pico drivers: misc: Add driver for RaspberryPi Pico PIO 2023-04-25 13:12:02 +02:00
liblc3
littlefs treewide: Use CONFIG_*_ENDIAN instead of __BYTE_ORDER__ 2022-10-28 19:23:46 +09:00
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 treewide: Update deprecated CONFIG_LIB_CPLUSPLUS usages 2023-01-13 17:42:55 -05:00
thrift modules: add thrift module 2023-02-09 20:30:21 +09:00
TraceRecorder
trusted-firmware-a modules: tfa: integrate trusted-firmware-a 2022-09-09 16:36:37 +00:00
trusted-firmware-m modules: tf-m: Add missing FWU API file 2023-06-05 10:48:31 -04:00
uoscore-uedhoc
zcbor modules: zcbor: Fix ZCBOR_ASSERT kconfig typo 2022-09-08 15:30:47 +00:00
Kconfig mcuboot: move the MCUboot kconfig file to modules/ 2023-05-18 14:09:00 -04:00
Kconfig.altera
Kconfig.atmel
Kconfig.cmsis modules/cmsis: Change libc requirement to allow picolibc 2023-01-26 10:10:45 +00:00
Kconfig.cmsis_dsp math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
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 soc: arm: introduce NXP S32Z/E support 2022-10-14 09:51:14 +02:00
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 modules: Added hal_wurthelektronik module. 2022-08-31 21:47:58 +00:00
Kconfig.xtensa
modules.cmake