pci_dev_str_match_path(9)
π pci_dev_str_match_path(9) π
okay bestie, welcome to the Kernel API Manual β section 9, the pci_dev_str_match_path(9) page. Strap in, we're doing PCI path matching and it's honestly lowkey iconic. π¦
πΈ NAME πΈ
pci_dev_str_match_path β test if a path string matches a device
β¨ SYNOPSIS β¨
int pci_dev_str_match_path (struct pci_dev *dev , const char *path ,
const char **endptr );
π ARGUMENTS π
devβ the PCI device to test. the main character of this whole operation, fr. πpathβ string to match the device against. this is the path bestie we're checking. π£οΈendptrβ pointer to the string after the match. it points at whatever comes after the match, periodt. π
π DESCRIPTION π
okay so picture this: you've got a string β typically one that came from a kernel parameter β formatted as a path of device/function addresses, and this function tests whether that string matches a PCI device. the string must be of the form:
[<domain>:]<bus>:<device>.<func>[/<device>.<func>]*
a path for a device can be obtained using lspci -t. iconic tool, no notes. using a path is more robust against bus renumbering than using only a single bus, device and function address β bus renumbering really said "not today" and a path handles that better. πβ¨
returns 1 if the string matches the device, 0 if it does not and a negative error code if it fails to parse the string. that's the whole vibe check, bestie. π«Ά
π SEE ALSO π
the see-also squad is huge and every single one is invited β starting with the kernel file, then going absolutely feral. no skipping, no cap:
Kernel file ./drivers/pci/pci.c pci_bus_max_busnr(9),
pci_status_get_and_clear_errors(9), pci_dev_str_match(9),
pci_find_capability(9), pci_bus_find_capability(9),
pci_find_next_ext_capability(9), pci_find_ext_capability(9),
pci_get_dsn(9), pci_find_next_ht_capability(9),
pci_find_ht_capability(9), pci_find_vsec_capability(9),
pci_find_dvsec_capability(9), pci_find_parent_resource(9),
pci_find_resource(9), pci_resource_name(9), pci_wait_for_pending(9),
pci_request_acs(9), pci_std_enable_acs(9), pci_enable_acs(9),
pci_restore_bars(9), pci_update_current_state(9),
pci_refresh_power_state(9), pci_platform_power_transition(9),
pci_resume_bus(9), pci_power_up(9), pci_set_full_power_state(9),
__pci_dev_set_current_state(9), pci_bus_set_current_state(9),
pci_set_low_power_state(9), pci_set_power_state(9), pci_save_state(9),
pci_restore_state(9), pci_store_saved_state(9), pci_load_saved_state(9),
pci_load_and_free_saved_state(9), pci_reenable_device(9),
pci_enable_device_mem(9), pci_enable_device(9),
pcibios_release_device(9), pcibios_disable_device(9),
pci_disable_enabled_device(9), pci_disable_device(9),
pcibios_set_pcie_reset_state(9), pci_set_pcie_reset_state(9),
pcie_clear_root_pme_status(9), pci_check_pme_status(9),
pci_pme_wakeup(9), pci_pme_wakeup_bus(9), pci_pme_capable(9),
pci_pme_restore(9), pci_pme_active(9), __pci_enable_wake(9),
pci_enable_wake(9), pci_wake_from_d3(9), pci_target_state(9),
pci_prepare_to_sleep(9), pci_back_from_sleep(9),
pci_finish_runtime_suspend(9), pci_dev_run_wake(9),
pci_dev_need_resume(9), pci_dev_adjust_pme(9),
pci_dev_complete_resume(9), pci_choose_state(9),
pci_suspend_retains_context(9), pci_bridge_d3_possible(9),
pci_d3cold_enable(9), pci_d3cold_disable(9), pci_pm_init(9),
_pci_add_cap_save_buffer(9), pci_allocate_cap_save_buffers(9),
pci_configure_ari(9), pci_acs_enabled(9), pci_acs_path_enabled(9),
pci_acs_init(9), pci_enable_atomic_ops_to_root(9),
pci_release_region(9), __pci_request_region(9), pci_request_region(9),
pci_release_selected_regions(9), pci_request_selected_regions(9),
pci_request_selected_regions_exclusive(9), pci_release_regions(9),
pci_request_regions(9), pci_request_regions_exclusive(9),
pci_remap_iospace(9), pci_unmap_iospace(9), pcibios_setup(9),
pcibios_set_master(9), pci_set_master(9), pci_clear_master(9),
pci_set_cacheline_size(9), pci_set_mwi(9), pci_try_set_mwi(9),
pci_clear_mwi(9), pci_disable_parity(9), pci_intx(9),
pci_wait_for_pending_transaction(9), pcie_flr(9), pcie_reset_flr(9),
pci_pm_reset(9), pcie_wait_for_link_status(9), pcie_retrain_link(9),
pcie_wait_for_link_delay(9), pcie_wait_for_link(9),
pci_bridge_wait_for_secondary_bus(9), pci_bridge_secondary_bus_reset(9),
__pci_reset_function_locked(9), pci_init_reset_methods(9),
pci_reset_function(9), pci_reset_function_locked(9),
pci_try_reset_function(9), pci_probe_reset_slot(9),
pci_try_reset_slot(9), pci_try_reset_bus(9), pci_reset_bridge(9),
pci_bus_error_reset(9), pci_probe_reset_bus(9), pci_reset_bus(9),
pcix_get_max_mmrbc(9), pcix_get_mmrbc(9), pcix_set_mmrbc(9),
pcie_get_readrq(9), pcie_set_readrq(9), pcie_get_mps(9),
pcie_set_mps(9), pcie_bandwidth_available(9),
pcie_get_supported_speeds(9), pcie_get_speed_cap(9),
pcie_get_width_cap(9), pcie_bandwidth_capable(9),
__pcie_print_link_status(9), pcie_print_link_status(9),
pci_select_bars(9), pci_set_vga_state(9), pci_add_dma_alias(9),
pci_real_dma_dev(9), pci_specified_resource_alignment(9),
pci_bus_find_emul_domain_nr(9), pci_ext_cfg_avail(9)
source/version: ./drivers/pci Β· date: October 2026 Β· page: pci_dev_str_match_path(9) β mwah, go be the main character of PCI matching πβ¨
π¦ 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