do_pci_match_id(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… do_pci_match_id(9) β€” the kernel API manual, bestie edition πŸŽ€

Okay so picture this: it's a kernel API manual page, section 9, and the star of the show is do_pci_match_id β€” the little function that answers the question "does this PCI ID match this pci_id table or not?" πŸ‘‘ Lowkey essential, highkey underrated. Let's get into it. ✨


🌸 SYNOPSIS 🌸

const struct pci_device_id * do_pci_match_id (const struct pci_device_id
*ids , const struct pci_device_id *dev_id , bool include_override_only
);

Three args, one return value, zero drama. Copy it exactly, okay? No "fixing" it, no renaming anything, we respect the signature in this house 🫢


πŸ’– ARGUMENTS πŸ’–

  • ids β€” the array of PCI device ID structures you're searching through. It's giving "the haystack" energy 🐴✨
  • dev_id β€” the actual PCI device ID structure you want to match against. That's the needle, bestie πŸ”
  • include_override_only β€” a bool, and here's the tea: when you flip this on, it also matches against device ID entries that are marked as override only. So like, the shy ones that normally don't get a look-in? Yeah, they're invited to the party now πŸŽ‰ Marked override-only entries, you're seen πŸ’…

⭐ RETURN ⭐

You get back the matching pci_device_id structure β€” the actual winner, the main character πŸ†

And if nothing matches? NULL. That's it. No match, no struct, just NULL and a vibe check that came back empty 😭

Heads up: NULL is a totally legitimate answer here, not an error β€” it literally just means "no match." Don't panic, don't spiral πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

All the related lore, straight from the kernel file ./drivers/pci/pci-driver.c β€” go read the source, iykyk πŸ“–πŸ’œ


🌈 THE SIGN-OFF 🌈

That's the whole page, bestie β€” sourced from ./drivers/pci, dated October 2026, and delivered with love πŸ’– Go match some IDs. Slay. Periodt. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from