pci_irq_type(9)
π pci_irq_type β like, the interrupt-type reveal π
Okay bestie, so this one's from the Kernel API Manual (that's the pci_irq_type(9) page, mwah) and it's honestly a little baby page, but she is important so let's give her the respect she deserves. β¨
πΈ NAME πΈ
pci_irq_type β get the interrupt type of a PCI device. That's it, that's the whole gig, and she does it flawlessly, no cap.
β¨ SYNOPSIS β¨
unsigned int pci_irq_type (struct pci_dev *pdev );
That's the whole function signature, copy-paste vibes, don't touch it, she's perfect. π«Ά
π ARGUMENTS π
pdevβ the PCI device you wanna operate on. That's your main character right there, the one you're asking about. π
π¦ DESCRIPTION π¦
So here's the tea β β this function is a little detective. It tells you which kind of interrupt the PCI core went ahead and picked for this device, and it only makes sense to call it after a successful pci_alloc_irq_vectors call. Like, that's the prerequisite, bestie β interrupt vectors got allocated, and now you're allowed to ask "soβ¦ which flavour did we get?" πβ¨
She discriminates the interrupt type. Iconic behaviour, honestly.
β RETURN β
She hands you back one of these three, and yes, they're literal constants, respect them:
PCI_IRQ_MSIXPCI_IRQ_MSIPCI_IRQ_INTX
Three possibilities, no in-between, that's the vibe check and she passes every time. π
π SEE ALSO π
Bestie, buckle up, because the SEE ALSO section is long and we are not skipping a single one of these. Every single name, exactly as written:
- Kernel file
./include/linux/pci.henumpci_interrupt_pin(9) pci_channel_state_t(9)pci_is_bridge(9)pci_is_vga(9)pci_is_display(9)struct pci_driver(9)PCI_DEVICE(9)PCI_DEVICE_DRIVER_OVERRIDE(9)PCI_DRIVER_OVERRIDE_DEVICE_VFIO(9)PCI_DEVICE_SUB(9)PCI_DEVICE_CLASS(9)PCI_VDEVICE(9)PCI_VDEVICE_SUB(9)PCI_DEVICE_DATA(9)pcie_capability_clear_and_set_word(9)pci_bus_for_each_resource(9)module_pci_driver(9)builtin_pci_driver(9)pci_irqd_intx_xlate(9)pci_resource_is_io(9)pci_resource_is_mem(9)pci_pcie_cap(9)pci_is_pcie(9)pcie_caps_reg(9)pci_pcie_type(9)pcie_find_root_port(9)pci_vpd_alloc(9)pci_vpd_find_id_string(9)pci_vpd_find_ro_info_keyword(9)pci_vpd_check_csum(9)pci_ari_enabled(9)pci_is_thunderbolt_attached(9)
That's the whole friend group, and honestly? They all ate. ππ§
π Friendly reminder: ask about the interrupt type after pci_alloc_irq_vectors succeeds. Before that? The question is giving nothing, bestie.
And that's the page!! π Signing off from ./include/linux, dated October 2026 β that's the source path and the date, both present and accounted for, because we do not leave details behind in this house. πβ¨ Byeee! π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms