The Private Beacon Client API requires a response argument to allow to
call the API in the asynchronous manner
(https://github.com/zephyrproject-rtos/zephyr/pull/56426).
Because the removal of the EXPERIMENTAL tag for this API was not
released yet, it should be OK to change this API.
The EXPERIMENTAL tag has been removed here:
https://github.com/zephyrproject-rtos/zephyr/pull/64866
Coverity-CID: 330039
Coverity-CID: 330029
Coverity-CID: 329977
Fixes#65336Fixes#65338Fixes#65354
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
the reason is that the Mesh Profile clearly stipulates that Mesh nodes
cannot change their own element definitions.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Coverity reported (rightfully) a possible divide by zero when trying to
allocate from a pool. Return -ENOMEM in such scenarios as it means there
is no memory to allocate from.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
() Some kernel memory management functions were previously
not in any group. So put them under the kernel memory
management group, and now they appear in API doc.
() Group things together when appropriate.
() Add doc if none exists before.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This separates demand paging related headers into its own file
instead of being stuffed inside the main kernel memory
management header file.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This moves the k_* memory management functions from sys/ into
kernel/ includes, as there are kernel public APIs. The z_*
functions are further separated into the kernel internal
header directory.
Also made a quick change to doxygen to group sys_mem_* into
the OS Memory Management group so they will appear in doc.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The inclusion of `fsl_common.h` solely for defining `NXP_MPU_BASE`
is redundant, as this symbol is not used. Consequently, this
unnecessary inclusion leads to the pervasive inclusion of HAL
headers through kernel headers.
The needed HAL definitions are already included into the NXP MPU
driver implementation via the SoC header.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Add a helper macro that can be used at runtime to return
the number of network interfaces in the system.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
A common pattern is used throughout llext.c:
ext->mem[ldr->sect_map[sym.st_shndx]]
where ldr->sect_map[sym.st_shndx] actually contains indices from
enum llext_section but ext->mem[] is indexed, using enum llext_mem
values. Fix this by changing ldr->sect_map[] to actually contain
enum llext_mem values.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The symbol count in struct llext_loader is redundant, we already have
one in struct llext_symtable, accessible via struct llext. Remove the
redundant copy.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
After some further investigation, I could find the current solution to
enable zbus channels (by using ZBUS_CHAN_DECLARE) to be used in C++
files, which generates a warning when we mix C and C++ code. This fixes
the issue by using an approach to add the extern keyword only when the
file is being compiled with a C++ compiler.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Remove syscalls that allows user threads to set callbacks that
will be invoked by the kernel.
Userspace is not trusted we can't allow a user thread set callbacks
that will be invoked by the kernel and run with supervisor privileges.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Since model struct most of member should not change at run time,
so mark as const will be suitable and safely.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
This syscall is completely problematic in userspace, it does
not check ANY parameter that is given and it uses variadic argument
that are not copied / checked before being used in the implementation,
instead it just pass a pointer to user stack with unknown data is
blindly consumed by the kernel.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Use __nocache_noinit for the Bosch M_CAN MRAM data variables on SoCs
without dedicated MRAM.
Fixes: #64691
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Allow tagging variables with __nocach_noinit.
With CONFIG_NOCACHE_MEMORY=y, this will resolve to __nocache, which implies
__noinit. With CONFIG_NOCACHE_MEMORY=n, this simply resolves to __noinit.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Provide the CONCAT macro as a general Zephyr utility macro
to paste two tokens during the preprocessor pass.
Note that this macro is based on the _CONCAT macro defined
in toolchain/common.h. This toolchain header needs a CONCAT
like macro, but requires minimal include dependencies.
So we leave _CONCAT where it is.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
One of the ARM architure files, defined since long ago
CONCAT and TOSTR having the exact same purpose as Zephyr's
_CONCAT & STRINGIFY.
This arm header file is included thru dependencies into
almost all code built for ARM, which leads to these
macros being usable everywhere.
This can easily make developers belive the macros
are provided by Zephyr itself, and use them, leading
to code which is not portable between architectures.
Remove this macros definitions from the architecture
headers.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
One of the ARM architure files, defined since long ago
TOSTR having the exact same purpose as Zephyr's STRINGIFY.
Remove the use of this macro in the tree
(only used in another ARM header file) in favour
of STRINGIFY.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Both MPSC and SPSC should be under data structure API group
instead of kernel API group. So move them, and fix some doxygen
cosmetic grouping issues for SPSC.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Log string removal is by default enabled for RISCV and Cortex-M
and support is added to the default linker template. However, if
SoC is not using default linker template then DEVNULL_REGION is
not defined. In that case string removal cannot be used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
`smp_shell_input_timeout_handler`. Create a public function in
the `shell_uart.c` for it to get the pointer to the
`smp_shell_data` and fix the compilation error.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
The ipc/pbuf was tagged as kernel API, which is not correct.
As this is for IPC, move it under IPC doxygen group and also
give it its own subgroup. So now the packed buffer API appears
under IPC in API doc.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add "container struct type pointer" description
to SYS_DLIST_FOR_EACH_CONTAINER() and SYS_DLIST_FOR_EACH_CONTAINER_SAFE().
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Add Renesas rzt2m gpio driver with basic functionality.
It supports pin mode configuration and writing/reading to/from gpio ports.
Includes dts changes to build blinky sample.
Signed-off-by: Jakub Michalski <jmichalski@internships.antmicro.com>
This adds a new driver for Renesas RZ/T2M.
The driver allows configuration of pin direction,
pull up/down resistors, drive strength and slew rate,
and selection of function for a pin.
Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
Move the input_kbd_matrix.h header out of drivers/ and into include/,
this allows external drivers to use it and doxygen to pick it up.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The current implementation of ZBUS_CHAN_DECLARE is not compatible with
C++. It fixes the bug by adding the extern keyword at the channel
definition which will work for both C and C++.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
The use case is to have a netbuf pool that is used exclusively with
net_buf_alloc_with_data() where the destroy callback takes care of
freeing the actual data buffer pointed to by __buf.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.
Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.
Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
Add (internal) support for sectag iterating.
Also officially marks negative sectag values as reserved for internal
use.
This will allow a prospective TLS credentials shell to iterate over all
available credentials.
Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
This change capitalizes on newly added support for dynamic
thread stacks and the existing pthread support to provide
an implementation of the ISO C11 `<threads.h>` API.
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
Add MIPI DSI detach API. This API allows the DSI controller to detach
from the DSI device, and power down the DSI PHY. The primary goal of
this API is to provide power savings for DSI devices when the display
they are driving is not active.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Rework UART backend to clearly use single instance approach as
before it was a bit messy with some parts of implementation indicating
multi-instance approach and some single instance. Backend has been
around for years and multi-instance requirement never came.
Added support for UART asynchronous API which is more efficient
in terms of power consumption and performance. Asynchronous API
support is using uart_async_rx helper module for handling data
received asynchronously.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>