mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
276ad5716a
A if `netdev_driver_t::confirm_send()` is provided, it provides the new netdev API. However, detecting the API at runtime and handling both API styles comes at a cost. This can be optimized in case only new or only old style netdevs are in use. To do so, this adds the pseudo modules `netdev_legacy_api` and `netdev_new_api`. As right now no netdev actually implements the new API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is in used but `netdev_new_api` is not, we can safely assume at compile time that only legacy netdevs are in use. Similar, if only `netdev_new_api` is used, only support for the new API is needed. Only when both are in use, run time checks are needed. This provides two helper function to check for a netif if the corresponding netdev implements the old or the new API. (With one being the inverse of the other.) They are suitable for constant folding when only new or only legacy devices are in use. Consequently, dead branches should be eliminated by the optimizer.
36 lines
1003 B
Plaintext
36 lines
1003 B
Plaintext
# Copyright (c) 2020 Freie Universitaet Berlin
|
|
# 2021 HAW Hamburg
|
|
#
|
|
# This file is subject to the terms and conditions of the GNU Lesser
|
|
# General Public License v2.1. See the file LICENSE in the top level
|
|
# directory for more details.
|
|
#
|
|
|
|
menuconfig MODULE_SLIPDEV
|
|
bool "SLIP over UART network device"
|
|
depends on HAS_PERIPH_UART
|
|
depends on TEST_KCONFIG
|
|
select MODULE_NETDEV_LEGACY_API
|
|
select MODULE_PERIPH_UART
|
|
select MODULE_TSRB
|
|
|
|
menuconfig KCONFIG_USEMODULE_SLIPDEV
|
|
bool "Configure SLIPDEV driver"
|
|
depends on USEMODULE_SLIPDEV
|
|
help
|
|
Configure the SLIPDEV driver using Kconfig.
|
|
|
|
if KCONFIG_USEMODULE_SLIPDEV
|
|
|
|
config SLIPDEV_BUFSIZE_EXP
|
|
int "Buffer size (as exponent of 2^n)"
|
|
default 11
|
|
range 0 31
|
|
help
|
|
UART buffer size used for TX and RX buffers.
|
|
Reduce this value if your expected traffic does
|
|
not include full IPv6 MTU.
|
|
Value represents the exponent n of 2^n.
|
|
|
|
endif # KCONFIG_USEMODULE_SLIPDEV
|