Skip to content

Commit 6f7f80f

Browse files
Johan Hedbergjhedberg
authored andcommitted
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 <[email protected]>
1 parent 76757a6 commit 6f7f80f

File tree

1 file changed

+73
-76
lines changed

1 file changed

+73
-76
lines changed

doc/releases/migration-guide-3.5.rst

Lines changed: 73 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -31,49 +31,6 @@ Kernel
3131
error and have to be done correctly using
3232
:c:func:`k_work_delayable_from_work`.
3333

34-
Bluetooth
35-
=========
36-
37-
* The ``accept()`` callback's signature in :c:struct:`bt_l2cap_server` has
38-
changed to ``int (*accept)(struct bt_conn *conn, struct bt_l2cap_server
39-
*server, struct bt_l2cap_chan **chan)``,
40-
adding a new ``server`` parameter pointing to the :c:struct:`bt_l2cap_server`
41-
structure instance the callback relates to. :github:`60536`
42-
43-
Networking
44-
==========
45-
46-
* A new networking Kconfig option :kconfig:option:`CONFIG_NET_INTERFACE_NAME`
47-
defaults to ``y``. The option allows user to set a name to a network interface.
48-
During system startup a default name is assigned to the network interface like
49-
``eth0`` to the first Ethernet network interface. The option affects the behavior
50-
of ``SO_BINDTODEVICE`` BSD socket option. If the Kconfig option is set to ``n``,
51-
which is how the system worked earlier, then the name of the device assigned
52-
to the network interface is used by the ``SO_BINDTODEVICE`` socket option.
53-
If the Kconfig option is set to ``y`` (current default), then the network
54-
interface name is used by the ``SO_BINDTODEVICE`` socket option.
55-
56-
* Ethernet PHY devicetree bindings were updated to use the standard ``reg``
57-
property for the PHY address instead of a custom ``address`` property. As a
58-
result, MDIO controller nodes now require ``#address-cells`` and
59-
``#size-cells`` properties. Similarly, Ethernet PHY devicetree nodes and
60-
corresponding driver were updated to consistently use the node name
61-
``ethernet-phy`` instead of ``phy``. Devicetrees and overlays must be updated
62-
accordingly:
63-
64-
.. code-block:: devicetree
65-
66-
mdio {
67-
compatible = "mdio-controller";
68-
#address-cells = <1>;
69-
#size-cells = <0>;
70-
71-
ethernet-phy@0 {
72-
compatible = "ethernet-phy";
73-
reg = <0>;
74-
};
75-
};
76-
7734
C Library
7835
=========
7936

@@ -122,29 +79,6 @@ C Library
12279
to a smaller, but inexact conversion algorithm. This requires building
12380
Picolibc as a module.
12481

125-
CAN Controller
126-
==============
127-
128-
* The CAN controller timing API functions :c:func:`can_set_timing` and :c:func:`can_set_timing_data`
129-
no longer fallback to the (Re-)Synchronization Jump Width (SJW) value set in the devicetree
130-
properties for the given CAN controller upon encountering an SJW value corresponding to
131-
``CAN_SJW_NO_CHANGE`` (which is no longer available). The caller will therefore need to fill in
132-
the ``sjw`` field in :c:struct:`can_timing`. To aid in this, the :c:func:`can_calc_timing` and
133-
:c:func:`can_calc_timing_data` functions now automatically calculate a suitable SJW. The
134-
calculated SJW can be overwritten by the caller if needed. The CAN controller API functions
135-
:c:func:`can_set_bitrate` and :c:func:`can_set_bitrate_data` now also automatically calculate a
136-
suitable SJW, but their SJW cannot be overwritten by the caller.
137-
138-
* The CAN ISO-TP message configuration in :c:struct:`isotp_msg_id` is changed to use the following
139-
flags instead of bit fields:
140-
141-
* :c:macro:`ISOTP_MSG_EXT_ADDR` to enable ISO-TP extended addressing
142-
* :c:macro:`ISOTP_MSG_FIXED_ADDR` to enable ISO-TP fixed addressing
143-
* :c:macro:`ISOTP_MSG_IDE` to use extended (29-bit) CAN IDs
144-
145-
The two new flags :c:macro:`ISOTP_MSG_FDF` and :c:macro:`ISOTP_MSG_BRS` were added for CAN FD
146-
mode.
147-
14882
Device Drivers and Device Tree
14983
==============================
15084

@@ -262,6 +196,26 @@ Device Drivers and Device Tree
262196
* The Kconfig option ``CONFIG_GPIO_NCT38XX_INTERRUPT`` has been renamed to
263197
:kconfig:option:`CONFIG_GPIO_NCT38XX_ALERT`.
264198

199+
* The CAN controller timing API functions :c:func:`can_set_timing` and :c:func:`can_set_timing_data`
200+
no longer fallback to the (Re-)Synchronization Jump Width (SJW) value set in the devicetree
201+
properties for the given CAN controller upon encountering an SJW value corresponding to
202+
``CAN_SJW_NO_CHANGE`` (which is no longer available). The caller will therefore need to fill in
203+
the ``sjw`` field in :c:struct:`can_timing`. To aid in this, the :c:func:`can_calc_timing` and
204+
:c:func:`can_calc_timing_data` functions now automatically calculate a suitable SJW. The
205+
calculated SJW can be overwritten by the caller if needed. The CAN controller API functions
206+
:c:func:`can_set_bitrate` and :c:func:`can_set_bitrate_data` now also automatically calculate a
207+
suitable SJW, but their SJW cannot be overwritten by the caller.
208+
209+
* The CAN ISO-TP message configuration in :c:struct:`isotp_msg_id` is changed to use the following
210+
flags instead of bit fields:
211+
212+
* :c:macro:`ISOTP_MSG_EXT_ADDR` to enable ISO-TP extended addressing
213+
* :c:macro:`ISOTP_MSG_FIXED_ADDR` to enable ISO-TP fixed addressing
214+
* :c:macro:`ISOTP_MSG_IDE` to use extended (29-bit) CAN IDs
215+
216+
The two new flags :c:macro:`ISOTP_MSG_FDF` and :c:macro:`ISOTP_MSG_BRS` were added for CAN FD
217+
mode.
218+
265219
Power Management
266220
================
267221

@@ -287,20 +241,51 @@ Bootloader
287241
``16``). Bootloaders that use a part of the SRAM should set this value to an
288242
appropriate size. :github:`60371`
289243

290-
ARM
291-
====
244+
Bluetooth
245+
=========
292246

293-
* ARM SoC initialization routines no longer need to call `NMI_INIT()`. The
294-
macro call has been removed as it was not doing anything useful.
247+
* The ``accept()`` callback's signature in :c:struct:`bt_l2cap_server` has
248+
changed to ``int (*accept)(struct bt_conn *conn, struct bt_l2cap_server
249+
*server, struct bt_l2cap_chan **chan)``,
250+
adding a new ``server`` parameter pointing to the :c:struct:`bt_l2cap_server`
251+
structure instance the callback relates to. :github:`60536`
295252

296-
RISC V
297-
======
253+
Networking
254+
==========
298255

299-
* The :kconfig:option:`CONFIG_RISCV_MTVEC_VECTORED_MODE` Kconfig option was renamed to
300-
:kconfig:option:`CONFIG_RISCV_VECTORED_MODE`.
256+
* A new networking Kconfig option :kconfig:option:`CONFIG_NET_INTERFACE_NAME`
257+
defaults to ``y``. The option allows user to set a name to a network interface.
258+
During system startup a default name is assigned to the network interface like
259+
``eth0`` to the first Ethernet network interface. The option affects the behavior
260+
of ``SO_BINDTODEVICE`` BSD socket option. If the Kconfig option is set to ``n``,
261+
which is how the system worked earlier, then the name of the device assigned
262+
to the network interface is used by the ``SO_BINDTODEVICE`` socket option.
263+
If the Kconfig option is set to ``y`` (current default), then the network
264+
interface name is used by the ``SO_BINDTODEVICE`` socket option.
301265

302-
Subsystems
303-
==========
266+
* Ethernet PHY devicetree bindings were updated to use the standard ``reg``
267+
property for the PHY address instead of a custom ``address`` property. As a
268+
result, MDIO controller nodes now require ``#address-cells`` and
269+
``#size-cells`` properties. Similarly, Ethernet PHY devicetree nodes and
270+
corresponding driver were updated to consistently use the node name
271+
``ethernet-phy`` instead of ``phy``. Devicetrees and overlays must be updated
272+
accordingly:
273+
274+
.. code-block:: devicetree
275+
276+
mdio {
277+
compatible = "mdio-controller";
278+
#address-cells = <1>;
279+
#size-cells = <0>;
280+
281+
ethernet-phy@0 {
282+
compatible = "ethernet-phy";
283+
reg = <0>;
284+
};
285+
};
286+
287+
Other Subsystems
288+
================
304289

305290
* ZBus runtime observers implementation now relies on the HEAP memory instead of a memory slab.
306291
Thus, zbus' configuration (kconfig) related to runtime observers has changed. To keep your runtime
@@ -328,6 +313,18 @@ Subsystems
328313
handlers made for Zephyr 3.4 need to be updated to include these translation
329314
functions when the groups are registered.
330315

316+
ARM
317+
===
318+
319+
* ARM SoC initialization routines no longer need to call `NMI_INIT()`. The
320+
macro call has been removed as it was not doing anything useful.
321+
322+
RISC V
323+
======
324+
325+
* The :kconfig:option:`CONFIG_RISCV_MTVEC_VECTORED_MODE` Kconfig option was renamed to
326+
:kconfig:option:`CONFIG_RISCV_VECTORED_MODE`.
327+
331328
Recommended Changes
332329
*******************
333330

0 commit comments

Comments
 (0)