Commit Graph

2713 Commits

Author SHA1 Message Date
Carles Cufi
244f826e3c cmake: remove _if_kconfig() functions
This set of functions seem to be there just because of historical
reasons, stemming from Kbuild. They are non-obvious and prone to errors,
so remove them in favor of the `_ifdef()` ones with an explicit
`CONFIG_` condition.

Script used:

git grep -l _if_kconfig | xargs sed -E -i
"s/_if_kconfig\(\s*(\w*)/_ifdef(CONFIG_\U\1\E \1/g"

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-08-01 12:35:20 +02:00
Andrew Boie
5bd9afe484 doc: porting: add stack object details
Explain best practices for defining stack object macros.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-30 21:11:14 -04:00
Dominik Ermel
d86497ebc2 doc: relnotes: Add API change note for fs_open
Update release notes API change section with information on change to
fs_open parameter list.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-07-30 16:33:18 +02:00
Anas Nashif
4c67339571 doc: add documentation about --integration option
Document the --integration option.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-30 08:00:03 -04:00
Tomasz Bursztyka
f0743df54d doc: Add a IPM API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:51:51 +02:00
Tomasz Bursztyka
a4c9801c1c doc: Add a DMA API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Tomasz Bursztyka
e01c4dcceb doc: Add a UART API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:43:12 +02:00
Jukka Rissanen
336bcfa471 net: if: Make sure only allowed threads can access syscalls
Make sure that only those threads that have been granted access
to net_if objects, can call the functions that modify net_if data.

The CONFIG_NET_IF_USERSPACE_ACCESS config option is also removed
as it is no longer needed after this change.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-07-29 08:13:22 -04:00
Gerard Marull-Paretas
75949f470f doc: releases: 2.4: add LVGL v7 update details
Add details of the LVGL7 update (e.g. warn about higher ROM usage,
changed Kconfig defaults, ...)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-07-27 15:06:22 +02:00
Anas Nashif
4b0f5ea100 doc: add documentation for tool targets
Document the following targets:
- ram_report
- rom_report
- puncover
- pahole

Fixes #26758

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-26 19:26:57 -04:00
Maureen Helm
52f993de11 doc: contribute: Require OSI-approved licenses
Updates the contribution guidelines to document the current board policy
of rejecting non-OSI-approved licenses.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-07-25 21:26:55 -04:00
Lauren Murphy
f014ba1ff1 doc: coding guidelines: fix links for other rules examples
This PR fixes the links to the example files in the Gitlab repository.
Fixes Dir 4.8 and Rule 2.1, 5.1, 5.8, 5.9, 8.5, 8.6, 13.1, and 13.5.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2020-07-25 10:50:03 -04:00
David Leach
db36b146e1 kernel: Remove supported size comments from HEAP_MEM_POOL_SIZE
The mempool implementation doesn't require specific sizes and can
support arbitrary sizes up to the limit of available memory. The
Kconfig documentation on this configuration was confusing user.

Fixes #20418

Signed-off-by: David Leach <david.leach@nxp.com>
2020-07-24 10:19:47 +02:00
Peter Bigot
f45f72c9a4 doc: development_process: document that CI style checks can fail
The CI style checking solution can produce false positives when it's
given code that it mis-parses, or that follows conventions it doesn't
allow.  Document a couple examples, and explicitly note that
maintainers should override the -1 vote if they're encountered.

For those following along in the commit history:

   static uint8_t __aligned(PAGE_SIZE) page_pool[PAGE_SIZE * POOL_PAGES];

checkpatch sees "uint8_t __aligned(PAGE_SIZE)" and infers a prototype
for a function "__aligned" that takes an unnamed parameter of type
"PAGE_SIZE".  So it adds "PAGE_SIZE" as a known type name.

   IOPCTL_Type *base = config->base;

This is common in driver code where the vendor HAL allows typedefs for
structure types.  checkpatch was designed for an environment with
limited use of typedefs; "struct IPCTL_Type" would have been handled
properly.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-23 14:04:44 +02:00
Daniel Leung
8fe7fbf7ee doc: coding_guidelines: sort list in natural order
Sort the MISRA lists in a more natural ascending numeric order.
So instead of 1.1 - 1.10 - 1.11 - 1.2 - 1.3, we now have
1.1 - 1.2 - 1.3 - 1.10 - 1.11.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-07-22 17:36:33 -04:00
Andries Kruithof
f434beb2bf doc: Coding Guideline: correct reference for rule 18.6 examples
Rule 18.6 has the examples split in two files. This PR adds
the correct reference to the example files in the gitlab
repository

Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
2020-07-22 12:43:08 +02:00
Anas Nashif
e8e367ada4 sanitycheck: support only_tags for boards
Support running/building only specific tags and ignoring everything
else.

Adding this to a platform yaml file will enable tests with one of of
tags listed to be executed on the platform.

This is useful for special platform configurations used for testing
specific features for example.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-20 17:44:16 -04:00
Trond Einar Snekvik
f8663774de Bluetooth: Mesh: Document shell commands
Adds a high-level documentation page for the Bluetooth Mesh Shell
subsystem, documenting all available commands and their parameters.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-07-20 12:47:31 +02:00
Ioannis Glaropoulos
0292df5489 doc: release: add note for SW_VECTOR_RELAY feature in Mainline Cortex-M
Add a note in 2.4 release notes regarding SW_VECTOR_RELAY
feature, now supported also in Mainline Cortex-M architecture.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-17 13:22:17 +02:00
Andrew Boie
e33fc71d71 doc: add device MMIO details
Add some overview documentation on how to use this header.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-17 11:38:18 +02:00
Andrew Boie
9ff148ac83 kernel: define arch_mem_map()
This is the low-level arch function to map a region into page
tables.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-17 11:38:18 +02:00
Carles Cufi
b62a3692d7 doc: contribution: Add link to the coding guidelines
Add a small section that describes the existance of the coding
guidelines page and links to it, in order to raise awareness of the
effort towards complying with those.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
c2df27fa0b doc: Link to guidelines from the contribution page
Link to the coding guidelines from the main contribution guidelines
page, so that users are aware of the guidelines.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
e924364035 doc: guidelines: Add additional guidelines
Aside from the MISRA-C derived Coding Guidelines, add a list for
additional ones that are not a subset of a standard.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
611927c49b doc: guidelines: Cleanup formatting
Cleanup formatting and a couple of instances of missing "rules".

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Anas Nashif
0ff33d1ae7 doc: fix usage of :c:type
Fixing issues with recent versions of breathe 4.19.2:

 WARNING: Unparseable C cross-reference: 'struct device'
 Invalid C declaration: Expected identifier in nested name, got keyword:
 struct [error at 6]
   struct device
     ------^

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-16 15:44:50 -04:00
Ruth Fuchss
81a6107343 doc: add IDs to some sections
Add documentation IDs to some sections to be able
to directly link to them.

Signed-off-by: Ruth Fuchss <ruth.fuchss@nordicsemi.no>
2020-07-16 08:22:48 -04:00
Anas Nashif
568211738d doc: replace lifo/fifo with LIFO/FIFO
Replace all occurances of lifo/fifo with LIFO/FIFO to be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-15 14:01:33 -04:00
Anas Nashif
1fc2e43eb3 doc: make device pm APIs show in doxygen docs
Those were not being processed due to Kconfig only exposing the noop
functions.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-14 19:23:15 -04:00
Uma Praseeda
ed9750a3a9 Doc: Updating ieee802154_interface Readme
Added a link to IEEE GET program web page to suggest
an option of downloading the specification to the users.

Signed-off-by: Uma Praseeda <uma.praseeda@nordicsemi.no>
2020-07-14 18:00:46 +02:00
Peter Bigot
9dc7640ede spi-device: set CS gpio flags for all devices that had none
The generic SPI GPIO chip select support now respects devicetree flags
for signal active level.  Update all cs-gpios properties to specify
active low.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-09 06:07:07 -05:00
Peter Bigot
a0f025995d drivers: watchdog: update API to reflect additional return code
Allow feed operations that would stall due to internal peripheral
delays to complete immediately with -EAGAIN indicating that the feed
did not occur as expected.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-09 06:44:59 -04:00
Anas Nashif
dc85b395b0 doc: add coding guidelines
Add the coding guidelines agreed upon by the project TSC with a
description of the staged approach needed to implement them

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-08 23:27:15 -04:00
Kumar Gala
6bf761fc0a dts: Remove support for deprecated DTS binding syntax
We deprecated a number of aspects of the DTS binding syntax in Zephyr
2.1.  Remove the support for the deprecated syntax.  Remove from docs
about the deprecated syntax as well.

Removed reference in release-notes-2.1.rst to legacy_binding_syntax
since that anchor doesn't exist anymore.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-07-08 22:03:24 -04:00
Flavio Ceolin
b7d27b94df doc: security: Avoid confusion with code guideline
Security documentation contains a code guideline section that is more
about security principles than code guidelines itself. Just removing
the mention do code guideline to avoid possible confusions with
upcoming project code guideline based on MISRA-C.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-07-07 19:29:21 -04:00
Ioannis Glaropoulos
4f297c72d3 doc: contribute/modifying_contributions: minor typo fix
Fix a typo in modifying_contributions.rst.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-06 10:44:18 -04:00
Joakim Andersson
4281843fd7 doc: relnotes: Add release notes for updated HCI driver event handling
Add release notes for updated HCI driver event handling for calling the
bt_recv() and bt_recv_prio() functions when delivering HCI events to
the host.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-07-06 11:15:39 +02:00
Ioannis Glaropoulos
5487e51bb7 doc: contribute: modifying_contributions: add link to dev processes
Add a link to the page describing our development
processes, as it contains the description of how
to identify issues and pull requests as stale.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Ioannis Glaropoulos
eb005afd2c doc: contribute: Describe policies for modifying patches or others
Add a small section, clarifying the policies around modifying
contributions submitted by other developers.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Ioannis Glaropoulos
10fcb6175a doc: contribute: add paragraph about cherry-picking content
Add a small paragraph in the Contribution Guidelines
documentation to stress that cherry-picking of patches
into other pull requests is an allowed practive. Add a
link to additional documentation clarifying policies
around modifying patches of other developers.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Jukka Rissanen
4363c566ed doc: kernel: Add sys_sem APIs to kernel documentation
The kernel documentation was missing sys_sem APIs.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-06-24 15:38:47 -04:00
David Leach
5385d49029 doc: release: Document release quality metrics
Document the bug count metrics used to gate the release process

Signed-off-by: David Leach <david.leach@nxp.com>
2020-06-24 09:47:34 -04:00
Martí Bolívar
e2b72a0ede doc: clarify how to set $FOO_ROOT in CMakeLists.txt
I received feedback that setting e.g. BOARD_ROOT in CMakeLists.txt is
not quite well specified; in particular, it's important to do so
before pulling in the boilerplate via find_package(). Clear that up.

Reported-by: Pete Skeggs <peter.skeggs@nordicsemi.no>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-24 09:44:48 -04:00
Peter Bigot
219a3ca96d device: provide internal access to static device array
Device objects in Zephyr are currently placed into an array by linker
scripts, making it easy to iterate over all devices if the array
address and size can be obtained.  This has applications in device
power management, but the existing API for this was available only
when that feature was enabled.  It also uses a signed type to hold the
device count.

Provide a new API that is generally available, but marked as internal
since normally applications should not iterate over all devices.  Mark
the PM API approach deprecated.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-23 13:27:14 +02:00
Peter Bigot
72ebf70543 device: refactor to simplify maintenance
DEVICE_AND_API_INIT and DEVICE_DEFINE are identical except that
DEVICE_DEFINE adds a parameter providing the device pm control
function, while DEVICE_AND_API_INIT does not.  This requires duplicate
implementations where if CONFIG_DEVICE_POWER_MANAGEMENT is enabled
then DEVICE_AND_API_INIT delegates to DEVICE_DEFINE with a dummy pm
control function, and if it is not enabled then DEVICE_DEFINE discards
the parameter and delegates to DEVICE_AND_API_INIT.

DEVICE_INIT is like DEVICE_AND_API_INIT but doesn't provide an API.

Clean this up by refactoring so that DEVICE_DEFINE is the core
implementation, providing with and without device power management
right next to each other where they can be compared and maintained.
Redefine DEVICE_INIT and DEVICE_AND_API_INIT delegate to
DEVICE_DEFINE.

Also remove duplicate code by extracting the variations due to
enabling device power management into macros.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-22 13:37:07 +02:00
Fabio Utzig
3f28f69477 doc: add --no-index-modules option to genrest.py
This add a new option `--no-index-modules` which works similarly to
`--modules` but does not generated index pages, only retains the
tweaking of how paths are displayed on symbol information pages,
showing '<title>/path/within/module/Kconfig' for paths that fall
within modules.

This is required by NCS, where there are more "modules" which we don't
want to have indexes for.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-06-19 18:14:18 +02:00
Martí Bolívar
1af73a66ab sys/util.h: remove deprecated MACRO_MAP()
Since this is an experimental API and MACRO_MAP() was deprecated in
favor of FOR_EACH() in zephyr v2.3.0, we are within our rights to just
remove it without notice now. Do so and mention it in the release
notes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Martí Bolívar
67ac768415 doc: release-notes: add sys/util.h to 2.4 release notes
Add a line item under "API Changes"

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Martí Bolívar
04df8124ac api: promote sys/util.h to experimental
This file contains definitions for macros which are integral to
significant Zephyr use cases, such as CONTAINER_OF() and various
macros used by devicetree.h internally.

As such, in practice we expect at least advanced (if not intermediate)
users to understand it, so the fact that it's not formally documented
as an API with a stability level is a problem.

Fix that by giving the docstrings a once-over and adding new ones
where they are missing. Move all the remaining non-API macros to
util_internal.h.

Add a Sphinx API page for this header, and include it in the API
overview at "experimental" stability level.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Håkon Øye Amundsen
13cf241ee6 cmake: docs: Fix 'test_relocation' -> 'code_relocation'
Incorrect name used for sample in two places.
This commit fixes these issues.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2020-06-17 09:40:47 +02:00