Commit Graph

11932 Commits

Author SHA1 Message Date
Armando Visconti
6e09f91fec dt-bindings: sensor: iis2dlpc: add macros for DT properties setting
Add macros for setting in a clear way iis2dlpc DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0d68d9e493 dt-bindings: sensor: ism330dhcx: add macros for DT properties setting
Add macros for setting in a clear way ism330dhcx DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0b46f387f4 dt-bindings: sensor: lis2dw12: add macros for DT properties setting
Add macros for setting in a clear way lis2dw12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
2fe89c1076 dt-bindings: sensor: lis2ds12: add macros for DT properties setting
Add macros for setting in a clear way lis2ds12 DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
a6cfa0bc15 dt-bindings: sensor: lps22df: add macros for DT properties setting
Add macros for setting in a clear way lps22df DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
b0f22dbafd dt-bindings: sensor: lps22hh: add macros for DT properties setting
Add macros for setting in a clear way lps22hh DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
1fbd157c61 dt-bindings: sensor: lsm6dso16is: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso16is DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
0c3057edf4 dt-bindings: sensor: lsm6dso: add macros for DT properties setting
Add macros for setting in a clear way lsm6dso DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Armando Visconti
e72baabe91 dt-bindings: sensor: lsm6dsv16x: add macros for DT properties setting
Add macros for setting in a clear way lsm6dsv16x DT properties.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2023-11-20 09:24:37 +01:00
Pavel Vasilyev
3bc17d1d18 Bluetooth: Mesh: Fix async behavior of Private Beacon Client API
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 #65336
Fixes #65338
Fixes #65354

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-11-20 09:23:56 +01:00
Lingao Meng
1c280c5327 Bluetooth: Mesh: Add missing struct name
Add name for inner-struct.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-20 09:22:55 +01:00
Lingao Meng
5f1c2f199b Bluetooth: Mesh: Make element as rodata
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>
2023-11-20 09:22:55 +01:00
Tom Burdick
9369c6f8e1 rtio: Make coverity happy
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>
2023-11-20 09:22:46 +01:00
Juha Heiskanen
07ae06f8fe mgmt: mcumgr: Doxygen tags update
Added a missing defgroup and ingroup for mcmumgr client
and smp client.

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-11-20 09:20:25 +01:00
Daniel Leung
f52f76fd6b doc: kernel/mm: some doxygen works
() 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>
2023-11-20 09:19:14 +01:00
Daniel Leung
f12d49d7ef kernel: mm: separate demand paging headers into its own file
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>
2023-11-20 09:19:14 +01:00
Daniel Leung
c972ef1a0f kernel: mm: move kernel mm functions under kernel includes
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>
2023-11-20 09:19:14 +01:00
Manuel Argüelles
da3d9197a6 include: arm: nxp_mpu: remove redundant HAL include
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>
2023-11-17 13:42:48 -06:00
Jukka Rissanen
dd2a222086 net: if: Add helper to calculate number of interfaces
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>
2023-11-17 12:40:33 +01:00
Jukka Rissanen
8157b48734 net: context: Add function to bound to a network interface
Helper function that marks the net_context to bound to a
network interface.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-11-17 12:40:33 +01:00
Guennadi Liakhovetski
21cea07b8c llext: fix a confusion between section indices
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>
2023-11-17 09:25:42 +01:00
Guennadi Liakhovetski
fb92636056 llext: remove a symbol count copy
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>
2023-11-17 09:25:42 +01:00
Rodrigo Peixoto
100836ee9e zbus: fix warning messages when mixing C and C++ files
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>
2023-11-17 09:22:29 +01:00
Flavio Ceolin
3763737326 smbus: Remove syscalls with callbacks
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>
2023-11-17 09:22:05 +01:00
Lingao Meng
2cd8d40b97 Bluetooth: Mesh: Split Model Structure
Split Model Variables to separate structue.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2023-11-16 16:52:14 +01:00
Lingao Meng
ab08f34fd9 Bluetooth: Mesh: Make bt_mesh_model as rodata
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>
2023-11-16 16:52:14 +01:00
Flavio Ceolin
a48e68441b logging: Remove syscall for z_log_msg_runtime_vcreate
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>
2023-11-16 09:25:21 -05:00
Henrik Brix Andersen
58e1963c6b drivers: can: mcan: use __nocache_noinit for MRAM data variables
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>
2023-11-16 09:29:09 +01:00
Henrik Brix Andersen
afe1ca6847 linker: allow tagging variables with __nocache_noinit
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>
2023-11-16 09:29:09 +01:00
Cong Nguyen Huu
da35f117a4 dt-bindings: clock: update clock to RTD 1.0.0
Update clock sources

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-11-16 09:28:16 +01:00
Alberto Escolar Piedras
f9685cd347 include: util: Add CONCAT as a general Zephyr utility macro
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>
2023-11-16 09:27:29 +01:00
Alberto Escolar Piedras
e92021b7b5 arm arch: Remove definition of CONCAT and TOSTR
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>
2023-11-16 09:27:29 +01:00
Alberto Escolar Piedras
ea2185dd1c arm arch: Replace use of TOSTR with STRINGIFY
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>
2023-11-16 09:27:29 +01:00
Daniel Leung
483dd8a40a doc: doxygen: move mpsc and spsc under data structure API group
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>
2023-11-15 17:35:06 -05:00
Krzysztof Chruściński
18d28ea144 linker: common-rom-logging: Use DEVNULL_REGION only if it exists
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>
2023-11-15 22:04:10 +01:00
Yong Cong Sin
72fea5df56 shell: backends: uart: add public function to access smp shell data
`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>
2023-11-15 16:38:16 +01:00
Daniel Leung
6bb46c7fe7 ipc: pbuf: fix incorrect doxygen group
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>
2023-11-15 14:18:14 +00:00
Andrej Butok
6bd52ae87f doc: dlist: Add "container struct type pointer" description
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>
2023-11-15 12:09:46 +01:00
Jakub Michalski
9265d2de0c drivers: gpio: add rzt2m gpio driver
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>
2023-11-15 11:41:35 +01:00
Wojciech Sipak
9e44f59e9a drivers: pinctrl: add RZT2M driver
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>
2023-11-15 11:41:35 +01:00
Fabio Baltieri
be5cb7af7c input: kbd_matrix: move the header to the project wide include directory
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>
2023-11-15 11:41:25 +01:00
Rodrigo Peixoto
e8c5ca50cc zbus: make ZBUS_CHANNEL_DECLARE compatible with C++
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>
2023-11-15 10:04:22 +01:00
Tomasz Moń
b5f4d8374a net: buf: Preserve buffer pointer in destroy callback
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>
2023-11-15 10:02:55 +01:00
Patryk Lipinski
4a52211432 logging: Changes in the macro statements
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.

Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
2023-11-15 09:59:56 +01:00
Patryk Lipinski
909c087521 fs: Changes in the macro statements
Changes in the macro statements that allows to build
with -Wudef flag enebaled, without errors.

Signed-off-by: Patryk Lipinski <patryk.lipinski@nordicsemi.no>
2023-11-15 09:59:56 +01:00
Eduardo Montoya
5c6402e76b drivers: ieee802154: add IEEE802154_RX_ON_WHEN_IDLE capability
Introduce `IEEE802154_RX_ON_WHEN_IDLE` capability.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-15 09:59:17 +01:00
Georges Oates_Larsen
f5d12102a0 net: tls_credentials: sectag iterators
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>
2023-11-14 10:40:02 +00:00
Christopher Friedt
97668b8b09 libc: common: add support for iso c11 threads
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>
2023-11-14 18:23:42 +09:00
Daniel DeGrasse
4cc12cb112 include: mipi_dsi: add MIPI DSI detach API
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>
2023-11-14 09:22:59 +01:00
Krzysztof Chruściński
5e4e944cc0 shell: backends: uart: Rework and add support for async API
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>
2023-11-14 09:21:46 +01:00