get_pcichild_wslot(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 little u32 telling 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