pci_dev_str_match(9)
π pci_dev_str_match(9) π
okay bestie, welcome to the Kernel API Manual entry for pci_dev_str_match(9) β yes, the (9) is part of the name, periodt. This is literally the function that checks whether a string matches a PCI device, and it's giving very useful kernel-parameter energy. π«Ά
β¨ NAME β¨
pci_dev_str_match β test if a string matches a device.
πΈ SYNOPSIS πΈ
int pci_dev_str_match (struct pci_dev *dev , const char *p , const char
**endptr );
π ARGUMENTS π
devβ the PCI device to test.pβ string to match the device against.endptrβ pointer to the string after the match.
π¦ DESCRIPTION π¦
Test if a string (typically from a kernel parameter) matches a specified PCI device. The string may be of one of the following formats:
[<domain>:]<bus>:<device>.<func>[/<device>.<func>]*
pci:<vendor>:<device>[:<subvendor>:<subdevice>]
The first format specifies a PCI bus/device/function address which may change if new hardware is inserted, if motherboard firmware changes, or due to changes caused in kernel parameters. If the domain is left unspecified, it is taken to be 0. In order to be robust against bus renumbering issues, a path of PCI device/function numbers may be used to address the specific device. The path for a device can be determined through the use of lspci -t.
The second format matches devices using IDs in the configuration space which may match multiple devices in the system. A value of 0 for any field will match all devices. (Note: this differs from in-kernel code that uses PCI_ANY_ID which is ~0; this is for legacy reasons and convenience so users don't have to specify FFFFFFFFs on the command line.)
bestie, that0-means-anything thing is lowkey different from in-kernelPCI_ANY_ID(~0) β don't mix them up, iykyk. π
Returns 1 if the string matches the device, 0 if it does not and a negative error code if the string cannot be parsed.
π SEE ALSO π
Kernel file ./drivers/pci/pci.c β and here's the whole SEE ALSO roll call, no cap:
pci_bus_max_busnr(9),
pci_status_get_and_clear_errors(9), pci_dev_str_match_path(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)
signing off from source ./drivers/pci, dated October 2026, with pci_dev_str_match(9) main-character energy forever π
β¨
π¦ 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