Commit Graph

4278 Commits

Author SHA1 Message Date
Christopher Friedt
b391993d1b lib: posix: add perror() implementation
Add a trivial implementation of `perror()`.

Fixes #46100

Signed-off-by: Christopher Friedt <cfriedt@fb.com>
2022-07-04 22:53:36 +02:00
Yuval Peress
e9e030f56b ztest: Add zassume* API
Add an assume API which works like JUnit's. Assumptions can be made
at any point before your test returns (setup, before, and during the
test). If an assumption fails, the test will be marked as skipped.

This helps avoid a cascading affect of failed tests when a base
feature breaks. The feature is expected to have tests and the tests
which depend on it should be skipped (not failed) if that feature
is broken.

Issue #42472

Signed-off-by: Yuval Peress <peress@google.com>
2022-07-04 14:16:34 -04:00
Kumar Gala
82c65315d3 drivers: ppp: Move to DTS for uart device
Move from using Kconfig NET_PPP_UART_NAME to a devicetree chosen
property ("zephyr,ppp-uart").  This is similar to a number of other
functions like "zephyr,shell-uart" or "zephyr,bt-uart".

As part of this we rework the init code a little to use
DEVICE_DT_GET for the modem gsm-ppp case.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-04 12:43:23 +02:00
Ederson de Souza
a6a9a35d0a doc/hardware/arch: Add RISC-V information
This is just a stub with bits of information about RISC-V support on
Zephyr, that can and should be improved over time.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-07-02 14:16:39 +02:00
Flavio Ceolin
87745357ce docs: pm: Fix device pm documentation
Device power management introduction was mentioning an APIs
that no longer exists and also using a wrong nomenclature for
device runtime pm.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-07-01 22:09:50 +02:00
Flavio Ceolin
b0f8142b1b doc: pm: Add reference for device runtime pm
Add a way to reference device runtime documentation from
other documents.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-07-01 22:09:50 +02:00
Flavio Ceolin
9471f9ee66 doc: pm: Add reference for power domains
Add a way to reference power domains documentation from
other documents.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-07-01 22:09:50 +02:00
Carles Cufi
74d904ba72 doc: gh: Add RFC to the list of mandatory labels
The paragraph that lists the mandatory labels (at least one of them must
be set, and at most one of those) was missing RFC.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-30 17:01:58 -04:00
Carles Cufi
1c2873f2f3 doc: gh: Document the Hardware Support label
This label is widely used by not documented.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-30 17:01:58 -04:00
Carles Cufi
974e868b33 doc: gh: Remove the doc for the "Question" label
This label has been removed, since we now convert issues that are just
questions to Discussions.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-30 17:01:58 -04:00
Carles Cufi
f9739ab41d python: Fix the requirement for libmagic to be installed
The Python python-magic module that we install for compliance checks
requires libmagic to be installed on the system to work. This requires
extra OS packages on Ubuntu and macOS, and an extra wheel on Windows.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-30 13:34:26 +02:00
Gerard Marull-Paretas
d9707249da doc: doxygen: strip include/ from path
Include hints shown in the Doxygen documentation need to exclude
'include/' so that we have, e.g. <zephyr/sys/crc.h> and not
<include/zephyr/sys/crc.h>.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-30 13:02:51 +02:00
Tom Burdick
63478be651 docs: Update i2c API modified version to 3.2
Updates the API overview page describing that the i2c API has been modified
for 3.2.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-29 17:51:31 +02:00
Tom Burdick
88ca215eed i2c: Update API terminology
Updates the API and types to match updated I2C terminology. Replaces master
with controller and slave with target.

Updates all drivers to match the changed macros, types, and API signatures.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-29 17:51:31 +02:00
Tom Burdick
19f8ba6a04 docs: i2c: Documentation terminology updated
The i2c terminology has been updated as such master is now controller,
and slave is now target. Updates all doc comments and doc pages to use
updated terminology. Does not change types or API definitions.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-29 17:51:31 +02:00
Tom Burdick
215bfa249e docs: rtio: Add RTIO API to the API Overview Doc
Notes that the API is currently experimental, and is targetting
being added initially for 3.2.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-28 13:53:13 -04:00
Tom Burdick
3d2ead38cb rtio: Real-Time Input/Output Stream
A DMA friendly Stream API for zephyr. Based on ideas from io_uring
and iio, a queue based API for I/O operations.

Provides a pair of fixed length ringbuffer backed queues for submitting
I/O requests and recieving I/O completions. The requests may be chained
together to ensure the next operation does not start until the current
one is complete.

Requests target an abstract rtio_iodev which is expected to wrap all
the hardware particulars of how to perform the operation. For example
with a SPI bus device, a description of what a read, and write mean
can be decided by the iodev wrapping a particular device
hanging off of a SPI controller.

The queue pair are submitted to an executor which may be a simple
inplace looping executor done in the callers execution context
(thread/stack) but other executors are expected. A threadpool executor
might for example allow for concurrent request chains to execute in
parallel. A DMA executor, in conjunction with DMA aware iodevs
would allow for hardware offloading of operations going so far as to
schedule with priority using hardware arbitration.

Both the iodev and executor are definable by a particular
SoC, meaning they can work in conjuction to perform IO operations
using a particular DMA controller or methodology if desired.

The application decides entirely how large the queues are, where
the buffers to read/write come from (some executors
may have particular demands!), and which executor to submit
requests to.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-28 13:53:13 -04:00
Eugene Cohen
2656113190 tracing: add additional user tracing thread calls
Add additional user tracing calls for thread states, names
and priorities.

add the following user tracing calls:

sys_trace_thread_create_user
sys_trace_thread_abort_user
sys_trace_thread_suspend_user
sys_trace_thread_resume_user
sys_trace_thread_name_set_user
sys_trace_thread_info_user
sys_trace_thread_priority_set_user
sys_trace_thread_sched_ready_user
sys_trace_thread_pend_user

Signed-off-by: Eugene Cohen <quic_egmc@quicinc.com>
2022-06-28 13:52:21 -04:00
Archie Atkinson
6cd8ef479f doc: change key properties from italic to bold
This is to keep it inline with the reset of the kernel docs

Signed-off-by: Archie Atkinson <archie.atkinson@chiaro.co.uk>
2022-06-28 16:17:32 +02:00
Aleksandar Markovic
e36fccbbf9 doc: Reword and reformat a sentence on review time
Move the sentence to the end of the section on labels applicable to
PRs only, reword it and convert to a note, indicating that the note
is for all labels in this section.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
641d2285b8 doc: Enhance subsection on "Security Review" label
Sync the text of description with what is seen in Github.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
4cdbdefb6d doc: Enhance subsection on "Maintainer" label
Sync the text of description with what is seen in Github.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
6e975769dd doc: Enhance subsection on "Hotfix" label
Sync the text of description with what is seen in Github.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
0836f71d3c doc: Enhance subsection on "Stable API Change" label
Remove part that it is not appropriate.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
60caee3a2f doc: Enhance description on "area: *" label
Use full label names for examples in the description, and other minor
enhancements.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
35e021d855 doc: Split and enhance subsections on "dev-review" and "TSC" labels
Split the explanation on dev-review and TSC labels into two separate ones,
and slightly reword both. For both, amend corresponding link to point to
the more relevant place in the online page on Zephyr meetings. Add
explanation for acronym "TSC".

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
3f20163cdd doc: Remove reference to now non-existant ext subdirectory
Directory <Zephyr-root>/ext does not exist anymore. Remove the
reference to it from the documentation.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
ada4195834 doc: Move subsection on "Stale" label to the right place
Label "Stale" is used for both issues and pull requests. It is currenly
listed as applicaple to pull requests only, however. Move it to the
right place.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
02040834d9 doc: Fix label names to be in sync with Github label names
Some label names in the documentation do not match with what is
seen in Github interface. Fix it by syncing with Github.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Aleksandar Markovic
3f1e43b9c7 doc: Rearrange content of section "Labeling issues and pull requests"
Mostly due to limited support for tables in rst format, information on
labels used for Zephyr issues and pull requests in Github is hard to
navigate and is visually not pleasing. Rearange the content of the
section so that bullets are mainly utilized rather than tables. Format
label names as 'emphasis', rather that 'monospace' (which should be
used primarily for code snippets, and Github labels are not code).
Also, group the information according to applicability (taking into
account if a label is applicable to:

  * issues only;
  * pull requests only;
  * both issues and pull requests.

Label names and decriptions are otherwise left 'as is' in this commit.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic.sa@gmail.com>
2022-06-28 15:55:21 +02:00
Emil Gydesen
2e145a3109 doc: Bluetooth: Upstream existing LE Audio shell rsts
Upstream the LE Audio shell rsts that briefly describe
how some of the LE Audio modules work.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-28 14:50:11 +02:00
Robert Lubos
5825c60b3d doc: net: Add HTTP client library page
Add brief documentation for the HTTP client library and reference its
API.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-27 16:29:16 +02:00
Daniel Leung
74c7bf5ae5 doc: release-3.2: note on removal of deprecated work queue API
This adds a note about removal of deprecated work queue API.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-06-27 12:46:21 +02:00
Robert Lubos
4ec098ac5a doc: net: Document POSIX wrappers for socket operations
Document POSIX wrappers for socket operations, by referencing a
corresponsding `zsock_*` function. The documentation will generate a
link where user can read the actual documentation on the socket
operation.

In order to include the POSIX wrappers in to the documentation however,
it's needed to add CONFIG_NET_SOCKETS_POSIX_NAMES to predefined symbol
list in zephyr.doxyfile.in.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-24 20:29:37 +02:00
Lauren Murphy
318e6db239 debug: coredump: add xtensa intel adsp, support toolchains
Adds compatibility with Intel ADSP GDB from Zephyr SDK and
from Cadence toolchain to coredump_gdbserver.py.

Adds CAVS 15-25 (APL) register definitions. Implements
handle_register_single_read_packet to serve ADSP GDB
p packets.

Prevents BSA from changing between stack dump printout
and coredump by taking lock. Observed to be necessary for
accurate results on slower simulated platforms.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2022-06-23 15:44:45 -04:00
Dominik Ermel
492e2ed741 doc/guides/device_mgmt/smp: Extend reset command with force option
The commit documents OS reset command extension that allows to
force reset, when OS responds with busy "rc" code to reset
attempts.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-06-21 11:55:19 +02:00
Dominik Ermel
0a5525358c mgmt/mcumgr/lib: Add BUSY error code
The commit reserves adds MGMT_ERR_EBUSY (10) error code and adds
documentaiton for it.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-06-21 11:55:19 +02:00
Stephanos Ioannidis
bd0f5f9816 doc: project: Fix role nomination template URL
This commit fixes the URL for the role nomination template that
incorrectly specified the 'bug' label instead of the 'Role Nomination'
label.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-17 10:27:49 -05:00
Krzysztof Chruscinski
c5f2cdef09 logging: Remove logging v1 from the logging
Remove v1 implementation from log_core and all references in the tree.
Remove modules used by v1: log_list and log_msg.
Remove Kconfig v1 specific options.
Remove Kconfig flags used for distinction between v1 and v2.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-16 10:51:15 -04:00
Carlo Caione
b6a3d598f3 device_mmio: Introduce DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME
Currently the device MMIO APIs is only able to map single DT-defined
regions and also the _NAMED variant is assuming that each DT-defined
device has only one single region to map.

This is a limitation and a problem when in the DT are defined devices
with multiple regions that need to be mapped.

This patch is trying to overcome this limitation by introducing the
DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME macro that leveraged the 'reg-names'
DT property to map multiple regions defined by a single device.

So for example in the DT we can have a device like:

  driver@c4000000 {
    reg = <0xc4000000 0x1000>, <0xc4001000 0x1000>;
    reg-names = "region0", "region1";
  };

and then we can use DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME doing:

  struct driver_config config = {
    DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME(region0, DT_DRV_INST(0)),
    DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME(region1, DT_DRV_INST(0)),
  };

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-16 11:26:10 +02:00
Al Semjonovs
92bc3e47c0 ztest: Test selection documentation.
Explain usage of the `-test` command line argument for
posix builds.

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2022-06-15 18:06:54 -04:00
Gerard Marull-Paretas
c7e4388b1d doc: contribute: guidelines: replace uncrustify with clang-format
Prefer clang-format over uncrustify for source code formatting.
uncrustify configuration files will be removed in future commits.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-15 09:37:30 -04:00
Krzysztof Chruscinski
fd622650c3 doc: logging: Remove references to logging v1
Remove references to logging v1 from the logging documentation.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-15 09:14:05 +02:00
Carles Cufi
26294ced09 doc: Rename API meeting to Architecture meeting
As per the decision to rename this meeting and make it into a working
group, document this in the official docs.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-14 16:07:38 +02:00
Anas Nashif
798a552daf boards: intel_s1000_crb: remove board/soc
Remove the intel_s1000_crb board. it is no longer available or supported
in the zephyr tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-06-13 16:19:51 -04:00
Martí Bolívar
b9e833366f doc: dts: bindings: formalize case and separator
It is a general recommendation to use lowercase characters and dashes
in property names instead of uppercase and underscores. Make this a
formal rule for upstream Zephyr bindings.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-06-10 12:26:33 -07:00
Kumar Gala
a7af8ce6a7 drivers: disk: Remove use of unused devicetree "label" property
We should avoid use of the label property in devicetrees.  The
'zephyr,sdmmc-disk' compatible node has a 'label' property set
but there isn't any code utilizing this so removing the property
from any devicetrees that have it set (as well as example in docs).

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-10 09:46:46 +02:00
Gerard Marull-Paretas
3009b8d9e6 doc: getting_started: add missing python3-venv installation
The venv package is not installed by default on Ubuntu, however, it is
required to follow the virtual environment installation path.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-09 14:35:18 +02:00
Connor Graydon
70cca36acc doc: release: Fix typo in release-notes-3.1.rst
Fix a spelling typo and grammar in release-notes-3.1.rst

Signed-off-by: Connor Graydon <connor.graydon@intel.com>
2022-06-09 11:34:48 +02:00
Seppo Takalo
e0296ca0b9 net: lwm2m: Allow initializing opaque and string data to zero length
By default, any string or opaque data that LwM2M engine initializes
sets data lenght to same value as given buffer length for that
resource.

However, on run time, engine keeps track how much data is written
to each resource, so when reading from any resource, should only
return data that has been written there. But uninitialized resources
return the content of the whole buffer.

Fixed the problem by introducing macros INIT_OBJ_RES_LEN(),
INIT_OBJ_RES_MULTI_DATA_LEN() and INIT_OBJ_RES_DATA_LEN() that
allows you to give the amount of data existing in buffer when
the resource is initialized. This sets the data_len and max_data_len
variables correctly.

Also introduced new functions lwm2m_engine_get_res_buf() and
lwm2m_engine_set_res_buf() that distinct between data size and
buffer size. Deprecated the previous functions
lwm2m_engine_get_res_data() and lwm2m_engine_set_res_data()

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2022-06-09 11:30:37 +02:00