get_pcichild_wslot(9)
π get_pcichild_wslot(9) β Kernel API Manual, bestie edition
Okay so real talk, we're in the <pink>Kernel API Manual</pink> today and the star of the show is get_pcichild_wslot β page nine, section nine, the whole vibe. Let's go π«Ά
β¨ NAME β¨
get_pcichild_wslot β bestie, it finds a device from its slot. That's it. That's the function. π
π¦ SYNOPSIS π¦
struct hv_pci_dev * get_pcichild_wslot (struct hv_pcibus_device *hbus ,
u32 wslot );
Like, literally those exact arguments, no cap. Note the struct hv_pci_dev * coming back at you π
πΈ ARGUMENTS πΈ
hbusβ the root PCI bus, as understood by this driver. It's giving "main character energy" for the whole bus, honestly πwslotβ the location on the bus. Just a littleu32telling you where things are at π
π₯ DESCRIPTION π₯
Okay so here's the tea β β this function looks up a PCI device and hands you back the internal representation of it. Not a copy, not a vibe, the actual internal representation. Iconic.
And the way that it acquires a reference on it?? So good. That means the device won't get deleted while somebody is still using it β nobody's yanking the thing out from under you mid-use, periodt π
β οΈ But listen β the caller is responsible for calling put_pcichild to release this reference. Don't leave it hanging, bestie. That's your job now, not the function's. π
β RETURN β
The internal representation of a PCI device. Slay. π
π SEE ALSO π
Kernel file ./drivers/pci/controller/pci-hyperv.c, plus a whole friend group of related pages β struct hv_msi_desc(9), struct hv_msi_desc2(9), struct tran_int_desc(9), hv_irq_retarget_interrupt(9), hv_pci_generic_compl(9), devfn_to_wslot(9), wslot_to_devfn(9), _hv_pcifront_read_config(9), _hv_pcifront_write_config(9), hv_pcifront_read_config(9), hv_pcifront_write_config(9), hv_pci_read_config_compl(9), hv_read_config_block(9), hv_pci_write_config_compl(9), hv_write_config_block(9), hv_register_block_invalidate(9), hv_msi_free(9), hv_compose_msi_msg(9), hv_pcie_init_irq_domain(9), get_bar_size(9), survey_child_resources(9), prepopulate_bars(9), create_root_hv_pci_bus(9), q_resource_requirements(9), new_pcichild_device(9), pci_devices_present_work(9), hv_pci_start_relations_work(9), hv_pci_devices_present(9), hv_pci_devices_present2(9), hv_eject_device_work(9), hv_pci_eject_device(9), hv_pci_onchannelcallback(9), hv_pci_protocol_negotiation(9), hv_pci_free_bridge_windows(9), hv_pci_allocate_bridge_windows(9), hv_allocate_config_window(9), hv_pci_enter_d0(9), hv_pci_query_relations(9), hv_send_resources_allocated(9), hv_send_resources_released(9), hv_pci_probe(9), hv_pci_remove(9) β literally the whole squad, iykyk π§π
And that's the page!! Sourced straight from ./drivers/pci/controller, dated October 2026 β see you in the next get_pcichild_wslot(9) era, mwah πβ¨
π¦ 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