STRUCT PDS_CORE_FW_COMPONENT_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct pds_core_fw_component_info(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this one's a struct page, and it's literally the GET_COMPONENT_INFO entry. Think of it as the little ID card a firmware component hands over when the driver's like "hi, who are you and what version are you running?" πŸŽ€


✨ NAME ✨

struct pds_core_fw_component_info β€” the GET_COMPONENT_INFO entry, periodt. πŸ’…


🌸 SYNOPSIS 🌸

here's the whole shape of it, no cap, copied exactly:

struct pds_core_fw_component_info {
  #define PDS_CORE_FW_COMPONENT_NAME_BUFLEN 24;
   char name[PDS_CORE_FW_COMPONENT_NAME_BUFLEN];
   u8 component_type;
   u8 rsvd[3];
   __le16 flags;
   u8 identifier;
   u8 slot_id;
  #define PDS_CORE_FW_COMPONENT_VER_BUFLEN 32;
   char version[PDS_CORE_FW_COMPONENT_VER_BUFLEN];
 };

like, look at her. she's got two #defines tucked inside her own body. iconic behavior honestly. πŸ¦‹


πŸ’œ Members πŸ’œ

  • name β€” the component's name. her government name, if you will 🫢
  • component_type β€” an enum pds_core_fw_component_type situation, so you know what kind of component she is
  • rsvd β€” word boundary padding πŸ’€ yes it's just vibes and empty space, but alignment is real and we respect it
  • flags β€” an enum pds_core_component_info_flags, the little metadata stickers πŸŽ€
  • identifier β€” the component's identifier (her @ handle, lowkey)
  • slot_id β€” the component's slot identifier, aka which slot she's living in 🏠
  • version β€” the component's version, so you know exactly which era of her you're dealing with ⭐

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/pds/pds_core_if.h struct β€” that's where she lives, go say hi ✨

and then the whole extended friend group, all linked up:

pds_core_drv_identity(9), enum pds_core_dev_capability(9), struct pds_core_dev_identity(9), struct pds_core_dev_identify_cmd(9), struct pds_core_dev_identify_comp(9), struct pds_core_dev_reset_cmd(9), struct pds_core_dev_reset_comp(9), struct pds_core_dev_init_cmd(9), struct pds_core_dev_init_comp(9), struct pds_core_fw_download_cmd(9), struct pds_core_fw_download_comp(9), enum pds_core_fw_control_oper(9), enum pds_core_fw_slot(9), struct pds_core_fw_control_cmd(9), struct pds_core_fw_control_comp(9), enum pds_core_vf_link_status(9), struct pds_core_vf_setattr_cmd(9), struct pds_core_vf_getattr_cmd(9), struct pds_core_vf_ctrl_cmd(9), struct pds_core_vf_ctrl_comp(9), struct pds_core_send_pkg_data_cmd(9), struct pds_core_send_pkg_data_comp(9), struct pds_core_component_tbl(9), struct pds_core_send_component_tbl_cmd(9), struct pds_core_send_component_tbl_comp(9), enum pds_core_send_component_op(9), struct pds_core_flash_component(9), struct pds_core_send_component_cmd(9), struct pds_core_send_component_comp(9), enum pds_core_fw_component_type(9), enum pds_core_component_info_flags(9), struct pds_core_component_list_info(9), struct pds_core_get_component_info_cmd(9), struct pds_core_get_component_info_comp(9), struct pds_core_finalize_update_cmd(9), struct pds_core_finalize_update_comp(9), struct pds_core_match_record_desc_cmd(9), struct pds_core_match_record_desc_comp(9), enum pds_core_host_mem_oper(9), struct pds_core_host_mem_cmd(9), struct pds_core_host_mem_comp(9), struct pds_core_dev_hwstamp_regs(9), struct pds_core_dev_info_regs(9), struct pds_core_dev_cmd_regs(9), struct pds_core_dev_regs(9)

like that's a whole group chat right there, and yes you should read all of them, iykyk 😭


okay that's the whole page bestie, you ate that πŸ’…βœ¨

sign-off time 🫢: this one comes from ./include/linux/pds, dated October 2026 β€” so like, from the future apparently?? slay. πŸŒˆπŸ’–

πŸ“¦ where this page comes from