init_overlay_changeset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

init_overlay_changeset β€” bestie, this is the one that initializes an overlay changeset from an overlay tree ✨

(this is from the Kernel API Manual, page init_overlay_changeset(9), obviously πŸ’–)


πŸŽ€ SYNOPSIS

int init_overlay_changeset (struct overlay_changeset *ovcs , const
struct device_node *target_base );

🫢 ARGUMENTS

  • ovcs β€” the overlay changeset you're about to build, bestie. this is the thing getting set up πŸ’…
  • target_base β€” points at the target node where the overlay gets applied 🎯

✨ DESCRIPTION

okay so first thing: initialize ovcs. then you populate ovcs->fragments with node info taken from the top level of overlay_root 🌸

the relevant top level nodes? literally just the fragment nodes and the __symbols__ node. any other top level node gets ignored β€” not me, that's just how it is πŸ™ˆ

after that you populate the other ovcs fields, and that's the whole vibe ✨


πŸ”₯ RETURN

  • 0 on success β€” slay πŸ’…
  • -ENOMEM if memory allocation fails 😭
  • -EINVAL if an error is detected in overlay_root πŸ’€
🚨 real talk though: if this returns an error, whoever called init_overlay_changeset must call free_overlay_changeset. no cap, don't forget it.

🌈 SEE ALSO

Kernel file ./drivers/of/overlay.c, and all these icons: struct target(9), struct fragment(9), struct overlay_changeset(9), of_overlay_notifier_register(9), of_overlay_notifier_unregister(9), add_changeset_property(9), add_changeset_node(9), build_changeset_next_level(9), changeset_dup_entry_check(9), build_changeset(9), of_overlay_fdt_apply(9), of_overlay_remove(9), of_overlay_remove_all(9) πŸ¦‹


mwah, that's the whole page 🫢 it lives in ./drivers/of, dated October 2026, and it's init_overlay_changeset(9) β€” go forth and overlay, bestie πŸ‘‘

πŸ“¦ where this page comes from