zephyr/modules
Henrik Brix Andersen 3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
..
acpica modules: acpica: Fix CMakeLists.txt style 2023-11-08 15:12:02 +00:00
canopennode drivers: can: remove run-time RTR filtering, add build-time RTR filter 2024-01-21 11:00:31 +01:00
cmsis arch: arm: remove aarch32 from include header guards 2023-12-12 18:47:57 +00:00
cmsis-dsp modules: fix naming of cmsis-nn,cmsis-dsp folder 2023-09-27 18:33:40 -04:00
cmsis-nn modules: fix naming of cmsis-nn,cmsis-dsp folder 2023-09-27 18:33:40 -04:00
fatfs modules: fatfs: fix build warnings 2023-09-14 16:03:13 +02:00
hal_ambiq drivers: spi: Add Ambiq MSPI driver 2023-09-08 14:44:12 +02:00
hal_ethos_u modules/hal_ethos_u: do not expose module kconfigs if not enabled 2023-12-09 07:31:04 -05:00
hal_gigadevice modules: hal_gigadevice: use CONFIG_${ARCH} to select components 2024-01-10 15:05:54 +01:00
hal_infineon drivers: wifi: added Infineon AIROC WIFI driver 2023-11-08 15:07:37 +00:00
hal_nordic modules: hal_nordic: nrfx: Add new UARTE options to Kconfig 2024-01-18 11:12:55 +01:00
hal_nxp Revert "modules: hal_nxp: usb: enable sof notifications" 2024-01-12 09:59:02 +01:00
hal_rpi_pico modules: hal_rpi_pico: Remove unused drivers 2023-12-20 11:14:24 +01:00
hal_st drivers/sensor: fix some ST drivers dependency to HAL_ST module 2024-01-12 12:55:46 +01:00
hostap hostap: Move the relevant config options away from hostap 2023-10-26 09:48:47 +02:00
liblc3 modules libc3: Add missing Kconfig dependency 2023-11-06 10:10:27 +01:00
littlefs
loramac-node
lvgl lib: heap: build heap_info conditionally 2023-12-13 17:27:54 -05:00
lz4
mbedtls modules: mbedtls: Use TF-M PSA API headers 2024-01-17 16:52:52 +01:00
nanopb modules: nanopb: Add custom target for generated header files 2023-12-01 10:50:26 +00:00
openthread net: openthread: remove unneded call to otLinkMetricsInit 2024-01-19 09:48:03 +01:00
percepio modules: Add DFM and move Tracerecorder into percepio module 2023-09-12 10:19:37 -04:00
segger soc: arm: st_stm32: add config to allow debugger attach in sleep/stop modes 2023-09-22 15:31:47 +02:00
tflite-micro modules: tflite-micro: update to latest 2023-09-25 09:46:33 +02:00
thrift thrift: add temporary Mutex implementation 2023-07-29 10:26:56 -04:00
trusted-firmware-a
trusted-firmware-m tfm: Provide properties for selected TF-M toolchain for NS application 2024-01-17 16:52:52 +01:00
uoscore-uedhoc tf-m: Change NS include path for TF-M 2.0.0 2024-01-17 16:52:52 +01:00
zcbor modules: zcbor: Options only when module is available 2023-10-24 10:53:24 +02:00
Kconfig drivers/sensor: fix some ST drivers dependency to HAL_ST module 2024-01-12 12:55:46 +01:00
Kconfig.altera
Kconfig.atmel
Kconfig.chre modules: define few undefined but referenced symbols 2023-07-05 09:11:02 +02:00
Kconfig.cypress
Kconfig.eos_s3
Kconfig.esp32 soc: xtensa,riscv: esp32xx: refactor folder structure 2023-07-25 18:12:33 +02:00
Kconfig.imx
Kconfig.infineon drivers: mdio: Add xmc4xxx mdio drivers 2024-01-09 10:00:47 +01:00
Kconfig.intel ish: add module Kconfig for Intel HAL 2023-07-28 17:49:09 +02:00
Kconfig.libmetal modules: libmetal: Options only when module is available 2023-10-24 10:53:24 +02:00
Kconfig.mcuboot kconfig: mcuboot: Add MCUBOOT_IMGTOOL_OVERWRITE_ONLY option 2023-11-23 09:59:36 +01:00
Kconfig.mcux modules: Kconfig.mcux: Remove implicit selection of HAS_CMSIS_CORE 2023-10-06 16:49:51 +03:00
Kconfig.microchip
Kconfig.nuvoton drivers: adc: support Nuvoton numaker series 2024-01-02 10:10:27 +01:00
Kconfig.nxp_s32 soc: nxp_s32: rename family to SOC_FAMILY_NXP_S32 2023-08-16 10:21:26 +02:00
Kconfig.open-amp modules: openamp: Options only when module is available 2023-10-24 10:53:24 +02:00
Kconfig.picolibc modules: define few undefined but referenced symbols 2023-07-05 09:11:02 +02:00
Kconfig.silabs
Kconfig.simplelink
Kconfig.sof modules: sof: Options only when module is available 2023-10-24 10:53:24 +02:00
Kconfig.stm32 modules: Kconfig.stm32: Add Kconfig symbol for RAMCFG 2023-12-18 17:31:08 +00:00
Kconfig.sysbuild
Kconfig.syst modules: mipi-syst: support minimal C library 2023-06-17 07:31:26 -04:00
Kconfig.telink
Kconfig.tinycrypt Revert "Revert "modules: tinycrypt: Options only when module is available"" 2023-10-27 13:33:30 -05:00
Kconfig.vega
Kconfig.wurthelektronik
Kconfig.xtensa
modules.cmake