PCI_DEVICE_SUB(9)
β¨ NAME β¨
okay so welcome to PCI_DEVICE_SUB(9) from the Kernel API Manual β this is the macro used to describe a specific PCI device with subsystem info. It's giving βdevice match, but make it extra specific,β and honestly? iconic. π
π¦ SYNOPSIS π¦
PCI_DEVICE_SUB (vend , dev , subvend , subdev );
π ARGUMENTS π
vendβ the 16 bit PCI Vendor ID. yes bestie, 16 whole bits. β¨devβ the 16 bit PCI Device ID. another iconic 16 bit moment. πsubvendβ the 16 bit PCI Subvendor ID. subsystem info has entered the chat. π¦subdevβ the 16 bit PCI Subdevice ID. the final little 16 bit detail. π
π DESCRIPTION π
This macro is used to create a struct pci_device_id that matches a specific device with subsystem information. That's the whole vibe: specific device, plus subsystem info, wrapped up in one macro. no cap. π«Ά
π SEE ALSO π
bestie, there is a lot of related lore here β go read these too:
- Kernel file:
./include/linux/pci.h enum pci_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_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_irq_type(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)
made with love in ./include/linux Β· October 2026 Β· and this page is literally PCI_DEVICE_SUB(9) β periodt. π§π
π¦ 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