We no longer render Doxygen content in Sphinx after the removal of
breathe, so let's remove rst related aliases from Doxyfile. Also adjust
some headers that contained rst content.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
It includes both the high-level documentation of the subsystem and
that of APIs defined in code (PSA Secure Storage and internal APIs of
the subsystem).
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
This new alias provides a handy shortcut for listing the Kconfig options
that are required for a given symbol to be available.
Fixes#76578
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The ENABLED_SECTION option is not a YES/NO option but should
contain a list of section label to be processed. For example,
adding INTERNAL_HIDDEN will make doxygen to look through all
the blocks with "@cond INTERNAL_HIDDEN" and "@endcond". So
just remove the "YES" and leave it an empty list.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This allows specifying the environment variable
ZEPHYR_DOXYGEN_OVERLAY pointing to a overlay file for
doxygen to override configs in the base zephyr.doxyfile.in
for local document builds.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This will allow expansion of various ZTEST macros to display the actual
test function rather than the ZTEST macro itself.
Inspired by a change in #71402 by @gmarull.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Force include interface header files first before other files
under include. This is due to doxygen always using the first
found item during linking. Because of this, without forcing
the interface definitions first, almost all of these would
link to the same named items, for example, under ARC header
files instead. Hence the need to manually shuffle the items
so linking would actually link to the correct items.
Note that this only works with functions and macros that are
actually defined in the interface file. A simple doc section
with @def would not work as this is not an actual definition.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This moves the doxygen doc from atomic_builtin.h to
atomic.h, as the doc should not have been inside
a particular implementation.
Also add an alias @atomic_api to replace the repetitive
wordings in the doc.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
As per Doxygen Awesome documentation:
"HTML_COLORSTYLE must be set to LIGHT since Doxygen 1.9.5!"
Fixes#64505
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Hides types in the IEEE 802.15.4 net_mgmt sub-API that are of no public
interest and improves documentation of the remainder.
All constants that are not meant to be used by applications have been
hidden. Only the API actually being of relevance to application
developers is now publicly visible and documented.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Use the defined(__DOXYGEN__) more specifically in the header to better
match i2c.h and make things more explicit. Removes the define being
setup in zephyr.doxyfile.in.
Fixes some of the deprecation notes and what to look for instead. Fixes
some typos.
The async, signal, and rtio APIs for SPI are now shown in the built docs
as would be expected.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Doxygen gets confused by the macro expansion in
include/zephyr/xen/public/domctl.h as that is only defined if
CONFIG_ARM64=y, add a no-op expansion of that macro when building the
documention so it has something to work on.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This is an alternative API for the L2CAP receive functionality. It
allows an application the receive L2CAP segments directly and manage
credits explictly. The API is guarded by an experimental kconfig option.
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/57485
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
Sometimes we want to force the inlining of a __syscall. Introduce a new
__syscall_always_inline symbol to do that.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Remove kernel tests from Doxygen INPUT as they end up unnecessarily
included in the generated API documentation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add supplementary header <zephyr/fff_extensions.h>. Add macro
to fff_extensions.h for simplifying definition of custom fake functions
needing call-unique information for producing desired output data.
When an array of custom fake context structures is defined and
the return field within the first structure instance is registered
with the standard SET_RETURN_SEQ() macro of FFF, the
RETURN_HANDLED_CONTEXT() macro provides the inverse logic to
recover the context structure for this called instance. The body of
the custom fake handler is provided to the RETURN_HANDLED_CONTEXT()
macro for appropriate execution and access to the custom fake
parameters.
A test suite is also provided to verify macro implementation and
illustrate usage. It is at:
zephyr/tests/subsys/testsuite/fff_fake_contexts/
This code was verified by:
1. (Pass) west build -p always \
-b unit_testing tests/subsys/testsuite/fff_fake_contexts/ && \
./build/testbinary
2. (Pass) west build -p always \
-b native_posix tests/subsys/testsuite/fff_fake_contexts/ && \
./build/zephyr/zephyr.exe
3. (Pass) ./scripts/twister -p unit_testing \
-T tests/subsys/testsuite/fff_fake_contexts/
4. (Pass) ./scripts/twister -p native_posix \
-T tests/subsys/testsuite/fff_fake_contexts/
5. (Pass) cd doc && build html-fast
Fix#55246
Signed-off-by: Gregory Shue <gregory.shue@legrand.com>
Introduce an API mirroring the CMSIS-DSP's basicmath. If CMSIS_DSP is
enabled, then it will by default be used as a backend. Developers may
opt into a custom backend by setting CONFIG_DSP_BACKEND_CMSIS=n. If
done, the application must provide `zdsp_backend/dsp.h` and optionally
implement the functions in its own .c files.
Signed-off-by: Yuval Peress <peress@google.com>
Even though we use Doxygen 1.9.4, config file was never updated for it.
Changed made by `doxygen -u doc/zephyr.doxyfile.in`.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Kconfig links were not processed correctly in Doxygen content rendered
by breathe. Also remove obsolete @option{} (no longer used).
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The kconfig Doxygen alias needs to work for both, HTML and XML output
(used later by Sphinx). This patch modifies the alias so that it outputs
plain HTML for the HTML output and Sphinx roles for the XML output.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
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>
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>
Add a Kconfig to disable non prefixed includes. By setting
`CONFIG_LEGACY_INCLUDE_PATH=n` developers can disable having
`include/zephyr` in the search path. This means that includes such
as `#include <kernel.h>` will no longer work.
Internally, every header should be updated to add the `zephyr/`
prefix to the headers. Only then, will developers be able to use
this config value for their applications.
Signed-off-by: Yuval Peress <peress@google.com>
Kconfig options now belong to the Kconfig domain, therefore, the
:kconfig:option: role needs to be used.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Generate the Doxygen tag file to static html sources directory so that
external documentation can use it as a source for linking. See:
https://www.doxygen.nl/manual/external.html
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
Adjust the Doxygen theme (based on doxygen-awesome) to match the Sphinx
theme. While not perfect, the experience should now be more consistent.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add an external group definition file. It can be used to create high
level group for things like subsystems, as there is no header such as
"subsys.h" where these type of logical groups can be defined.
This approach is followed by projects such as pipewire to organize
Doxygen modules.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
A pre-defined Doxygen macro allows for better control of what is
included in the final documentation than maintaining a long list of
CONFIG_* entries.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Render Zephyr version in both, standalone Doxygen build and Sphinx
controlled build. In standalone mode, the package version given by
find_package(Zephyr...) is used, while in Sphinx build the conf.py
version is used.
The project brief has been shortened to make project title more compact
while still containing relevant information.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Use the doxygen-awesome theme to improve the look and feel of the
Doxygen API documentation.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Linker APIs are defined in a "#ifdef _LINKER" block. Adding _LINKER to
the Doxygen PREDEFINED list so that they get picked up when generating
the documentation.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>