Commit graph

45 commits

Author SHA1 Message Date
Pisit Sawangvonganan f51c8ee739 doc: releases: fix typo
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/releases directory.

The typo in the 'Issue Related Items' section will be left unchanged.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-25 18:14:31 -05:00
Keith Packard a4a8120b69 doc: Update picolibc section in 3.5 migration guide for 1.8.5
Picolibc 1.8.5 includes more control over printf capabilities, document
those in the migration guide.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-20 06:07:58 -05:00
Fabio Baltieri 125e0e8741 docs: migration-guide-3.5: add a note about optional modules
Add a note about modules moved to optional and how to enable them again.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-02 09:45:47 +01:00
Fabio Baltieri aa316fbd2e docs: migration-guide-3.5: deduplicate the ram-disk notes
This point ended up being mentioned twice for some reasons.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 12:07:38 +03:00
Johan Hedberg 97956e402e doc: release: Remove "Working Draft" from titles
Remove "Working Draft" from the release notes and migration guide

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-20 09:37:20 +03:00
Daniel DeGrasse f190547dda docs: migration-guide-3.5: add note about ramdisk instantiation
Add note to migration guide describing how to instantiate a ramdisk
using devicetree, and calling out Kconfig options that have been removed
with this change

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-19 17:42:21 +01:00
Daniel DeGrasse 7d32b552d0 docs: migration-guide-3.5: add changes for i.MX RT boards
Add migration guide notes for i.MX RT boards, including the following
changes:
- i.MX RT boards must now manually enable
  CONFIG_DEVICE_CONFIGURATION_DATA and CONFIG_NXP_IMX_EXTERNAL_SDRAM
  when required
- SNVS pin names have changed for i.MX RT11xx series boards

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-19 16:29:27 +01:00
Johan Hedberg 6f7f80fe8a doc: migration-guide: Reorder the sections more logically
Reorder the sections so that the core/wide impact ones come first (e.g.
Kernel and C-Library) and more specific ones (e.g. architectures) come
last.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Johan Hedberg 76757a6bf0 doc: migration-guide: Add a link to the release notes
Add a link to the 3.5 release notes from the migration guide.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Johan Hedberg 7842fd9e4f doc: migration-guide: Remove extra backtick
Remove an extra backtick character.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-10-19 17:51:39 +03:00
Anas Nashif 69fd128771 doc: add sections to migration guide
Add sections to the migration guide to make it easier to spot and follow
suggestions of specific areas.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-19 11:32:11 +03:00
Emilio Benavente b2b2afc672 docs: migration-guide-3.5: LPC55XXX Clock Init
The inclusion of this note in the migration guide
explains the clocking change that occured in the
LPC55XXX soc as well as the added Kconfig that toggles
the PLL1 from being initialized. Also updated the
lpc board docs to state the correct System
Clock Value.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2023-10-18 09:47:24 +03:00
Flavio Ceolin 4b930e888d doc: migration-guide-3.5: Power management update
Add information about power management required changes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-17 17:41:30 +01:00
Flavio Ceolin b1b8b3b4d0 doc: migration-guide-3.5: Random subsys update
Add information about header name changes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-17 13:19:02 +03:00
Declan Snyder dde691bdd4 doc: migration-guide-3.5: LPC DMA dma-channels
Include in migration guide about how the meaning of dma-channels
to the LPC DMA driver has been changed/fixed, which will
affect downstream boards, and information about the new Kconfig
achieving the old functionality of dma-channels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-10-14 10:52:35 +03:00
Rodrigo Peixoto 28eb47922e doc: zbus: add entries to the migration guide
ZBus had one break change related to the runtime observers'
configuration, and the VDED delivery sequence has changed. This commit
adds entries on the migration guide about the mentioned changes.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-11 22:33:40 +03:00
Filip Kokosinski 739bbbb153 doc/releases/release-notes-3.5: add RISC-V release notes
This commit adds RISC-V release notes for Zephyr v3.5.0.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-10-11 14:13:15 +03:00
Martin Jäger b1cc4e9a14 doc: releases: release-notes-3.5: update CAN ISO-TP
Add sections for CAN ISO-TP changes in this release and describe API
changes in migration guide.

Signed-off-by: Martin Jäger <martin@libre.solar>
2023-10-11 09:38:08 +03:00
Erwan Gouriou dc3295608a doc: migration guide 3.5: Document STM32 changes
Document STM32 breaking or not backward compatible changes made on V3.5
release.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2023-10-11 00:20:45 +03:00
Henrik Brix Andersen f09b67b304 doc: release: Fix formatting of bullet lists
Without the extra newline, Sphinx does not render bullet lists correctly.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-09 21:22:07 +03:00
Gerard Marull-Paretas 474aa963ff doc: migration-guide: inform about device dependencies changes
Device dependencies are now optional, before they were always built.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas f767cf48c9 doc: migration-guide: inform about CMSIS header changes
arch headers are deprecated, header in CMSIS glue code must be used
instead.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas a7cbfa4970 doc: migration-guide: inform about NMI_INIT removal
It may be needed by out-of-tree ARM SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas c4a579c5da doc: migration-guide: add PM/poweroff changes
Inform about required changes related to PM/poweroff.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
Gerard Marull-Paretas 2d3ea64d05 doc: migration-guide: inform about GPIO optional ops changes
Related to https://github.com/zephyrproject-rtos/zephyr/pull/62394
changes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-10-09 13:51:58 +01:00
TOKITA Hiroshi 73f45f6573 doc: migration-guide: add notes on SSD1306 Kconfig changes
Some SSD1306 Kconfig options replaced by dts to make able to
configure per device.
Add the description how to migrate it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-10-09 15:06:35 +03:00
Fabio Baltieri 2f64ac9ab6 doc: release: add 3.5 change and release notes about bq274xx
Few channels of this driver were using the wrong units, add a note
pointing out that this needs a matching change in any application using
them.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri 9eaa6a2798 doc: release: add 3.5 migration notes about CONTAINER_OF
Add a migration note entry about CONTAINER_OF type checking for the
k_work use case. This was common enough that it's probably worth a note
pointing at the conversion function.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Fabio Baltieri a51593b8fa doc: release: add 3.5 input notes and migration guide
Add 3.6 release notes and migration guide for various changes in the
input subsystem.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-04 16:19:24 +01:00
Johann Fischer a2a21e6dcf doc: release: add migration guide for RAM disk driver
Add migration guide and devicetree example for RAM disk driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-03 14:41:49 +01:00
Jamie McCrae 7e37df33de doc: migration-guide: 3.5: Add note on SMP version 2 error handlers
Adds a note about required changed for Zephyr 3.4 SMP version 2
error translation handlers in Zephyr 3.5 (or newer)

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Donatien Garnier 6de57d0985 Bluetooth: Host: Document required changes for L2CAP accept() callback
Add a required change in the migration guide to document the changes
to the accept() callback in struct bt_l2cap_server.

Signed-off-by: Donatien Garnier <donatien.garnier@blecon.net>
2023-10-02 15:24:05 +02:00
Maureen Helm d5287578fe dts: bindings: boards: Update Ethernet PHY to use reg property
Updates Ethernet PHY devicetree bindings to be more consistent with
Linux by using the standard `reg` property for the PHY address instead
of a custom `address` property. As a result, MDIO controller bindings
now require standard `#address-cells` and `#size-cells` properties.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00
Henrik Brix Andersen ddd2b490b0 doc: releases: update v3.5 migration guide with changes in CAN timing
Update the migration guide for v3.5 to mention the changes related to
setting CAN timing.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Carles Cufi d118ef5fde doc: migration: Move picolibc section to required changes
After having migrated a bunch of apps to the new default C library we
have realized that some of the caveats described in the existing
picolibc section of the migration guide do require action on the user
more often than previously thought. In order to ensure that all users
see those and can act upon them, move the picolibc migration info to the
required changes section.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-25 18:44:34 -04:00
Guillaume Gautier 01f080ebe0 doc: releases: update migration guide
Update migration guide

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Gerard Marull-Paretas beec8b05a8 device: only allow PRE_KERNEL_1/2 and POST_KERNEL levels
Because devices share the same underlying infrastructure with SYS_INIT,
the same levels have always been available. However, not all of them are
needed, and some are not even usable. For example, `EARLY` can't be used
because when initialized `z_device_state_init` has not been called yet.
`SMP` has never been used by device drivers, and it is now in question,
likely to be moved to SMP specific hooks. Finally, `APPLICATION` does
not make much sense in the context of Kernel devices. Note that of the 3
levels just mentioned, only one was actively tested (`APPLICATION`) by
Kernel tests, meaning others were likely never considered in the context
of devices.

This patch leaves `PRE_KERNEL_1`, `PRE_KERNEL_2` and `POST_KERNEL`
available to devices. Others have been deprecated, and will generate a
compiler warning if used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-21 15:02:45 +02:00
Ryan Erickson 452fadcd0e doc: migration-guide: inform about MODEM_GSM_PPP deprecation
MODEM_GSM_PPP is deprecated in favor of using the new
MODEM_CELLULAR driver.
Directly related to this are UART_MUX and GSM_MUX. These are also
being deprecated.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-09-19 15:25:47 +01:00
Jukka Rissanen ccc2a7a90d doc: release: Migration guide for CONFIG_NET_INTERFACE_NAME option
Clarified the impact of CONFIG_NET_INTERFACE_NAME Kconfig option
as it can change how SO_BINDTODEVICE BSD socket option behaves.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-19 15:22:19 +01:00
Gerard Marull-Paretas 9019e46839 doc: migration-guide: inform about GPIO_AS_PINRESET deprecation
In favor of the new devicetree 'gpio-as-nreset' property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-18 13:14:08 +02:00
Gerard Marull-Paretas c0bf310ac8 doc: migration-guide: add notes on CONFIG_NFCT_PINS_AS_GPIOS changes
So that users know how to migrate to the new option.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-15 16:05:28 +02:00
Carlo Caione e4a125b6a4 dt: Make zephyr,memory-attr a capabilities bitmask
This is the final step in making the `zephyr,memory-attr` property
actually useful.

The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.

With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.

The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).

For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_VOLATILE |
			       DT_MEM_NON_CACHEABLE |
			       DT_MEM_OOO )>;
   };

The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-region = "NOCACHE_REGION";
       zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
   };

See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).

The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
			       DT_MEM_SW_ALLOCATABLE )>;
   };

Or maybe we can leverage the property to specify some alignment
requirements for the region:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_CACHEABLE |
			       DT_MEM_SW_ALIGN(32) )>;
   };

The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).

When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`

Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory  region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-09-15 12:46:54 +02:00
Keith Packard 28e6839db6 doc/releases: Add picolibc migration notes
There aren't any 'required' or 'recommended' changes when switching from
the minimal C library to picolibc, but there are a bunch of things which
application developers might need to be aware of. Add a separate section to
list those.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-08 19:07:37 +02:00
Carles Cufi 8c748fd005 kernel: Modify the signature of k_mem_slab_free()
Modify the signature of the k_mem_slab_free() function with a new one,
replacing the old void **mem with void *mem as a parameter.

The following function:
void k_mem_slab_free(struct k_mem_slab *slab, void **mem);

has the wrong signature. mem is only used as a regular pointer, so there
is no need to use a double-pointer. The correct signature should be:
void k_mem_slab_free(struct k_mem_slab *slab, void *mem);

The issue with the current signature, although functional, is that it is
extremely confusing. I myself, a veteran Zephyr developer, was confused
by this parameter when looking at it recently.

All in-tree uses of the function have been adapted.

Fixes #61888.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-03 18:20:59 -04:00
Carles Cufi a7b0ce614a release: Introduce a migration guide
Instead of documenting API changes, deprecations, additions and
deletions in the main release notes, create a new specific document to
help users migrate from one release to another one.

This new document has only two sections:

- Required changes
- Recommended changes

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2023-09-01 14:05:46 +02:00