zephyr/subsys
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
..
bindesc subsys/bindesc: Fix kconfig dependency 2023-11-20 12:02:48 +01:00
bluetooth bluetooth: controller: ll_sw: RV32M1: add missing include 2024-01-19 15:13:53 +00:00
canbus drivers: can: remove run-time RTR filtering, add build-time RTR filter 2024-01-21 11:00:31 +01:00
console includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
debug debug: gdbstub: kconfig: Add GDBSTUB_TRACE config option 2023-12-06 17:52:18 +00:00
demand_paging kernel: mm: only include demand_paging.h if needed 2023-11-23 10:01:45 +01:00
dfu dfu: boot: mcuboot_shell: Prevent erasing MCUboot/app flash areas 2023-12-07 14:24:48 +00:00
disk subsys/disk: No need of runtime intialization for disk access part 2023-03-13 18:34:40 +00:00
dsp zdsp: add ARC DSPLIB backend for zdsp 2023-02-21 15:06:06 +01:00
emul emul: Add support for non-bus emulators 2024-01-12 09:59:31 +01:00
fb fb: cfb: Remove unused value 2023-08-14 18:08:59 +00:00
fs fs: fuse: Avoid possible buffer overflow 2024-01-08 13:29:19 -05:00
input input: add a keymap driver 2024-01-19 15:14:25 +00:00
ipc ipc_service: open-amp: Fix libmetal shared memory registration 2023-12-14 16:18:55 +02:00
jwt random: Rename random header 2023-10-10 14:23:50 +03:00
llext llext: merge llext_mem and llext_section enums 2023-12-14 19:06:55 +00:00
logging pm: console: Use async runtime put to minimize resumption/suspension 2024-01-18 10:51:10 +01:00
lorawan lorawan: use callback function signature typedefs 2023-11-13 09:53:32 +01:00
mem_mgmt mem_mgmt: Add a memory attributes memory allocator 2023-11-27 19:56:48 +01:00
mgmt ec_host_cmd: spi_stm32: prevent accessing null pointer 2024-01-19 10:33:51 +01:00
modbus modbus: Add dependency to UART runtime configuration 2023-11-15 10:02:18 +01:00
modem tests: modem: cmux: Implement TRANSMIT_IDLE into test suite 2024-01-17 09:20:50 -06:00
net net: shell: Implement DHCPv4 server shell commands 2024-01-19 10:15:23 +00:00
pm pm: Remove CURRENT_CPU macro 2024-01-19 13:49:54 +01:00
portability kernel: Introduce a way to specify minimum system heap size 2023-12-20 11:01:42 +01:00
random syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
retention retention: Increase read size variables to 16-bit 2023-12-14 19:05:22 +00:00
rtio syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
sd sd: add timeout when taking SD card lock for data operations 2024-01-09 15:46:54 -06:00
sensing sensing: sensor_mgmt: s/device.h/init.h 2023-08-29 12:17:24 +01:00
settings settings: shell: Fix possible buffer overflow 2023-12-15 14:43:50 +01:00
shell shell: telnet: Don't close the connection on ENOBUFS error 2024-01-17 09:54:15 +01:00
sip_svc subsystem: sip_svc: Reduce the max timeout to 1 second. 2023-09-15 09:26:49 +02:00
stats shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
storage storage: rename shadow variables 2023-08-22 11:39:58 +02:00
task_wdt task_wdt: start feeding hardware watchdog immediately after init 2024-01-02 09:52:13 +01:00
testsuite riscv: irq: Add trigger_irq function for clic 2024-01-18 10:53:27 +01:00
timing subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
tracing tracing: sysview: Fix API name 2024-01-15 13:53:44 -05:00
usb usbc: fix shadowed declaration build error 2024-01-18 11:28:54 +00:00
zbus zbus: add priority boost feature 2024-01-04 09:41:54 +01:00
CMakeLists.txt drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00
Kconfig llext: enable tristate Kconfig options 2024-01-11 10:26:04 -05:00