Skip to content

Zephyr 4.5 working draft — surface delta survey: gale unaffected at verified API #43

Description

@avrabe

Summary

Surveyed the Zephyr 4.5.0 release notes working draft (upstream tracker issue #107354) against gale's 39 verified modules. No migration work required at the verified surface. Filed for audit-trail completeness and one small follow-up.

4.5 surface deltas relevant to RTOS kernel/utility code

Verbatim from the draft release notes:

  1. Ring Buffer Item API: ring_buf_item_init(), ring_buf_item_put(), ring_buf_item_get() deprecated in favor of the new sys_ringq data structure.
  2. DMIC: _dmic_ops struct deprecated in favor of the DEVICE_API macro.
  3. LoRa: lora_recv_duty_cycle() renamed to lora_recv_duty_cycle_async().

No deprecations or changes mentioned for k_sem, k_mutex, k_msgq, k_pipe, k_condvar, k_timer, k_event, k_fifo, k_lifo, k_queue, k_stack, k_mem_slab, k_heap, k_poll, k_futex.

Gale's exposure

Upstream delta Gale touches? Action
ring_buf_item_* deprecated No — explicitly omitted from gale's verified scope (src/ring_buf.rs:22: "ring_buf_item_* — item-mode wrappers (same underlying ring) — Omitted (not safety-relevant)"). Gale models only the byte-level index arithmetic of base ring_buf (ring_buf_init/put/get/size_get/space_get/is_empty/reset/capacity_get/peek), none of which is deprecated. None
_dmic_ops struct deprecated Nogrep -rn "dmic" src/ ffi/src/ is empty None
lora_recv_duty_cycle() renamed Nogrep -rn "lora" src/ ffi/src/ is empty None

Confirmed by:

  • src/ring_buf.rs:22 — explicit omission of item-mode in the safety-relevance comment.
  • src/pipe.rs — uses base ring_buf ops, not item-mode (lines 124, 181, 232 reference ring_buf_put / ring_buf_get / ring_buf_reset).
  • ffi/src/lib.rs:8556+ — ring-buffer FFI exports cover area_claim / area_finish / space_get, none of which are item-mode.
  • No matches for dmic or lora anywhere in src/ or ffi/src/.

One small follow-up

Update src/ring_buf.rs:22 to reference the 4.5 deprecation so the omission is recorded as upstream-aligned rather than an arbitrary scope decision. One-line doc change:

-//!   - ring_buf_item_* — item-mode wrappers (same underlying ring)
+//!   - ring_buf_item_* — item-mode wrappers (deprecated in Zephyr 4.5;
+//!     superseded upstream by sys_ringq — same underlying ring, not
+//!     in gale's verified scope)

Not urgent (4.5 ships October 2026); deferred to the next bench/docs sweep.

Forward-look (v2 scope decision, not 4.5 work)

If gale's verified scope ever expands to cover item-mode ring queues, target the new sys_ringq data structure directly rather than the deprecated ring_buf_item_*. The byte-level ring_buf we already verify isn't going anywhere.

Sources

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions