STRUCT DEVLINK_FLASH_UPDATE_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual entry for struct devlink_flash_update_params β€” yes that's a mouthful, yes it's iconic, and yes we're gonna get through it together 🫢

This page is literally all about the Flash Update parameters β€” the little bundle of info that tells the kernel how a firmware flash update should go down. main character energy fr fr ✨


✨ SYNOPSIS ✨

struct devlink_flash_update_params {
    const struct firmware *fw;
    const char *component;
    u32 overwrite_mask;
 };

look at her. three members. flawless. no notes πŸ’…


πŸŽ€ MEMBERS πŸŽ€

  • fw β€” pointer to the firmware data to update from πŸ“¦ like, this is the actual firmware payload you're flashing, the whole reason we're here
  • component β€” the flash component to update 🧩 which part of the flash are we touching, bestie
  • overwrite_mask β€” which types of flash update are supported (may be 0) 🎚️ yep, it can absolutely be zero, that's valid, don't panic

🌸 DESCRIPTION 🌸

okay so here's the tea β˜• with the exception of fw, drivers must opt-in to parameters by setting the appropriate bit in the supported_flash_update_params field in their devlink_ops structure.

read that again. fw is the freebie β€” everything else? you gotta opt in, bestie. set that bit, claim your parameter, live your truth 🌈 no bit, no param, periodt πŸ’€


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/net/devlink.h, plus this whole squad right here πŸ‘‘

  • struct devlink_port_pci_pf_attrs(9)
  • struct devlink_port_pci_vf_attrs(9)
  • struct devlink_port_pci_sf_attrs(9)
  • struct devlink_port_attrs(9)
  • struct devlink_linecard_ops(9)
  • struct devlink_dpipe_field(9)
  • struct devlink_dpipe_header(9)
  • struct devlink_dpipe_match(9)
  • struct devlink_dpipe_action(9)
  • struct devlink_dpipe_value(9)
  • struct devlink_dpipe_entry(9)
  • struct devlink_dpipe_dump_ctx(9)
  • struct devlink_dpipe_table(9)
  • struct devlink_dpipe_table_ops(9)
  • struct devlink_dpipe_headers(9)
  • struct devlink_resource_size_params(9)
  • struct devlink_flash_notify(9)
  • struct devlink_param(9)
  • struct devlink_region_ops(9)
  • struct devlink_port_region_ops(9)
  • struct devlink_health_reporter_ops(9)
  • struct devlink_trap_metadata(9)
  • struct devlink_trap_policer(9)
  • struct devlink_trap_group(9)
  • struct devlink_trap(9)
  • struct devlink_port_ops(9)

ngl bestie, the whole devlink family is huge β€” take your time, hydrate, and come back to this list whenever you need it πŸ’–

and that's the whole page, you ate that πŸ“ mwah πŸ’‹

signing off from ./include/net, dated October 2026 β€” this was struct devlink_flash_update_params(9), and she slayed πŸ’…βœ¨

πŸ“¦ where this page comes from