Commit graph

17,121 commits

Author SHA1 Message Date
Anas Nashif
4e396174ce kernel: move syscall_handler.h to internal include directory
Move the syscall_handler.h header, used internally only to a dedicated
internal folder that should not be used outside of Zephyr.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
a6b490073e kernel: object: rename z_object -> k_object
Do not use z_ for internal structures and rename to k_object instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
c91cad735a kernel: object: rename z_object_init to k_object_init
Do not use z_ for internal API and rename to k_object_init.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
c54fb959e3 kernel: objects: rename z_dynamic_object_aligned_create
Do not use z_ for internal APIs and rename function.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
d2c025dd78 kernel: objects: rename z_dynamic_object_create -> k_object_create_dynamic
Do not use z_ for internal APIs and rename z_dynamic_object_create.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anas Nashif
ae265ea96e kobject: move internal functions to own header
Move all internal kobject APIs to own header and do not expose them with
the rest of the public API.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Eduardo Montoya
1d0dda794c net: pkt: remove redundant net_pkt_cb_ieee802154 fields
Remove redundant `arb` and `fv2015` fields.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2023-11-03 11:44:40 +01:00
Bartosz Bilas
e87fd3165f drivers: regulator: add MAX20335 driver
Add a MAX20335 MFD subdriver to manage the built-in PMIC.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-02 20:32:40 +00:00
Henrik Brix Andersen
043e6ecbf6 drivers: can: add accessor for the CAN bit error counter
Add accessor function for the CAN bit error counter.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-02 09:48:05 +01:00
Yong Cong Sin
3ed8c4d64b kernel: mmu: fix compilation warnings when memory address and size are 0
When both the memory base address & its size are zero, the
assertions test will be comparing an unsigned int against zero
which result in compilation warning, and will be raised to
error in Twister

Fix them with more conditional compilations.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-11-02 09:45:41 +01:00
Carles Cufi
9cf07bbdb5 bluetooth: Rename rpmsg HCI driver and sample to ipc
The existing driver and sample:

- drivers/bluetooth/hci/rpmsg
- samples/bluetooth/hci_rpmsg

are no longer correctly named, since they now use the IPC subsystem to
send and receive data. The IPC subsystem can use RPMsg as a transport,
but that is one of several selectable backends.

I initially wanted to deprecated both the BT_RPMSG Kconfig option as
well as the zephyr,bt-hci-rpmsg-ipc chosen node in Devicetree. However,
this proved to be undoable in the case of the Kconfig option. This is
because it's a choice option, and those have special behavior. In
particular, the only practical way to deprecate would've been to keep
the old Kconfig option outside the choice (much like it's done in this
commit) but then also add a 'depends on !BT_RPMSG' on each of the
remaining choice symbols *except* on the new BT_HCI_IPC one. This, however,
only works correctly for .conf files. If a board instead sets the
default BT_HCI_BUS_TYPE in the Kconfig.defconfig file then the Kconfig
tree parsing would fail, because it'd try to set it to a value
(BT_RPMSG) that is no longer part of the choice.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-02 08:32:20 +02:00
Andrej Butok
213826f915 doc: heap: Fix heap examples
Fix examples for HEAP_LISTENER_ALLOC_DEFINE()
and HEAP_LISTENER_FREE_DEFINE().
Delete misused input heap_id variable.
It caused incorrect log output.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-01 11:17:36 +00:00
Henrik Brix Andersen
5d5249d85b drivers: can: unify spelling of CAN Flexible Data-rate abbreviation
Unify spelling of CAN Flexible Data-rate abbreviation to "CAN FD" instead
of "CAN-FD". The former aligns with the CAN in Automation (CiA)
recommendation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-01 11:17:17 +00:00
Bartosz Bilas
ea0a5548cd drivers: regulator: extend API about count/list for the current limits
Extend the regulator API about support of `count_current_limits`
and `list_current_limit` functions for the current limits.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-01 11:00:39 +00:00
TOKITA Hiroshi
a9e49918cf drivers: interrupt_controller: Add icu driver for Renesas RA series
To avoid complicating the initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
04b723e900 drivers: pinctrl: Add pinctrl driver for Renesas RA series
To avoid complicating the initial code for supporting the SoC,
I have implemented only the bare minimum for now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
TOKITA Hiroshi
1741b3a356 drivers: clock_control: Add clock driver for Renesas RA series
Add initial support for Renesas RA clock generation circuit.

It returns a fixed value to simplify the first commit to get the UART
working now.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-11-01 10:56:46 +00:00
Krzysztof Chruściński
67676d8fbc linker: Fix missing DEVNULL_REGION for XIP configuration
DEVNULL_REGION was created only for !CONFIG_XIP. Moved definition
outside of that #ifdef.
Removed condition which was repeated as it is present at the beginning
of the file.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-31 11:21:10 +00:00
Witold Lukasik
f14c061dd6 shell: fix SHELL_SUBCMD_COND_ADD with NULL as _handler parameter
In dummy_subcmd_##syntax statement, syntax keyword
should be replaced with _syntax, that is the argument name.

In dummy_##syntax##_handler There are two problems:
 - wrong syntax keyword
 - _handler is an argument

So if NULL is passed as an argument to _handler, and the syntax is abcd,
there is: dummy_##abcd##NULL, what causes a build error.

Signed-off-by: Witold Lukasik <witold.lukasik@nordicsemi.no>
2023-10-31 10:24:02 +01:00
Flavio Ceolin
3d9b6bb9b2 kernel: heap in k_heap_init is nonnull
Mark the parameter h as nonnull in k_heap_init.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
1701eea20f kernel: heap in k_heap_alloc is nonnull
Mark the parameter h as nonnull in k_heap_alloc.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
d8ef78d7af kernel: heap in k_heap_aligned_alloc is nonnull
Mark the parameter h as nonnull in k_heap_aligned_alloc.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
ade41376a5 kernel: heap in k_heap_free is nonnull
Mark the parameter h as nonnull in k_heap_free.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Flavio Ceolin
32d7b3645a toolchain: Add nonnull attribute
Add a new macro for __attribute__((nonnull))). This attribute
allows functions to declare which parameters shouldn't be null.
This helps to catch errors like:

void test(void *a, void *b, void *c) __attribute_nonnull(1, 3);

/zephyrproject/zephyr/samples/hello_world/src/main.c:28:9: warning:
argument 3 null where non-null expected [-Wnonnull]
   28 |         test(a, NULL, NULL);
      |         ^~~~

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-31 09:00:02 +01:00
Benjamin Lemouzy
5690387462 drivers: audio: add errors management
Add audio_codec_clear_errors and audio_codec_register_errors_callback
functions to manage audio codec errors.
Callback has to be called from dedicated thread to allow I2C or SPI
operations.

Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
2023-10-30 13:50:37 -04:00
Flavio Ceolin
ecc544d69f headers: arch/cache: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
8aa215ff45 headers: syscall_handler: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
9910702378 headers: sw_isr_table: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
f1482c18c2 headers: posix/dirent: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
079a83d7f1 headers: sys/printk: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
b7c3965991 headers: kernel_structs: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
49a2ff75d3 headers: kernel_version: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
a629ac5fac headers: posix/unistd: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
51754e3a53 headers: sys/atomic_arch: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
a077079f45 headers: sys/atomic: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
1f86454d1a headers: sys/reboot: Drop extern attr from functions
Drop extern attribute from function signature.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Flavio Ceolin
01d61ba18b headers: kernel: Drop extern attr from functions
Using extern attribute in function signatures is not
necessary and it is not consistently across Zephyr headers.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-30 12:51:04 -04:00
Andrej Butok
f289c3149b doc: kernel: Fix double "the" for k_thread_deadline_set()
Fix double "the" in the k_thread_deadline_set() description.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-10-30 11:50:16 -04:00
Yong Cong Sin
df2c0681d3 devicetree: encode multi-level interrupt number in C devicetree magic
The multi-level encoding of the interrupt number currently
happens in the `gen_defines.py`, which is called in the
`dts.cmake` module after `kconfig.cmake`. However, the number
of bits used by each level is defined in Kconfig and this means
that `gen_defines.py` will not be able to get that information
during build.

To fix this, do the multi-level encoding in C devicetree macro
magic instead of the python script. This ticks one of a
long-standing TODO item from the `gen_defines.py`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Yong Cong Sin
d7302f417e irq: relocate multi-level irq out of irq.h
Relocate multi-level interrupts APIs out of `irq.h` into
a new file named `irq_multilevel.h` to provide cleaner
separation between typical irq & multilevel ones.

Added preprocessor versions of `irq_to_level_x` as `IRQ_TO_Lx`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Bjarki Arge Andreasen
28f5f2d1ed drivers: Add GNSS API public header
This commit adds the public header for the GNSS API, along
with the initial GNSS Kconfig file and an entry in the
common linker file for registered GNSS data callbacks.

A very naive implementation of the GNSS data callback is
provided as well in drivers/gnss/gnss_publish.c

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Bjarki Arge Andreasen
ed92612689 data: Add navigation utils header
This commit adds the initial navigation data type and tools
which will lay the foundation to share and process navigation
data between the application and navigation systems like GNSS
and similar triangulation technologies.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Krzysztof Chruściński
b1c207b257 logging: Use optimization for simple messages only in kernel
Optimized version of logging for simple messages can work
only in kernel space. Do not use it in user space.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-30 10:15:49 -04:00
Deepti Deshatty
1816775466 drivers: flash: provide api to reset the flash registers
changes enable flash driver to provide api interface to send reset memory
spi command to the spi flash. The reset memory command would bring the
spi flash to its default power-on state and loose all the volatile register
settings.
Flash reset is needed when more than one controller access the flash chip
in a shared mode.

Signed-off-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com>
2023-10-30 09:27:42 +01:00
Dawid Niedzwiecki
0aed42f2ee mgmt: ec_host_cmd: improve handling buffer sizes
Add the len_max rx structure member to indicate maximum number of bytes
possible to receive. It is needed to send information about our protocol
parameters to host.

Also, limit the maximum size of request/responses for backends that uses
buffers provided by the handler.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-10-27 13:26:00 -05:00
Tomasz Bursztyka
c294b7d270 lib/acpi: Fix the behavior to fit with how it used to be
z_acpi_get_cpu() used to retrieve the local apic on enabled CPU, where
n was about the n'th enabled CPU, not just the n'th local apic.
The system indeed keeps local apic info also about non-enabled CPU,
and we don't care about these as there is nothing to do about it.

This issue exists on up_squared board for instance, but it's a common
one anyway.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-10-27 17:36:31 +01:00
Henrik Brix Andersen
6ddde16bdb drivers: can: add missing documentation to can.h
Add missing doxygen documentation to the can.h header file.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 12:28:04 +02:00
Henrik Brix Andersen
2e2de9e5c2 drivers: eeprom: add missing documentation to eeprom.h
Add missing doxygen documentation to the eeprom.h header file.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 12:27:31 +02:00
Krzysztof Chruściński
78bf8ebf75 logging: Allow keeping module names in dedicated section
When CONFIG_LOG_FMT_SECTION is enabled then module name strings
are also placed in the dedicated section used for all logging
strings.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00
Krzysztof Chruściński
59abf921c1 logging: Add option to remove strings from binary
Add option to remove string literals which are constant and
never touched by the firmware. It can save significant amount
of RO memory.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 11:42:21 +02:00