ixgbe_get_f...ondary_devfn(9)
π ixgbe_get_first_secondary_devfn π
okay bestie, welcome to the Kernel API Manual (section 9, obviously) β this is the page for ixgbe_get_first_secondary_devfn, and yes the title up top is truncated because apparently manpage headers have a character limit and no aesthetic sense. Anyway. Let's get into it π
β¨ NAME β¨
ixgbe_get_first_secondary_devfn β get first device downstream of root port π
Like, it goes and finds the first thing living under a root port. The head of the downstream friend group, if you will π«Ά
πΈ SYNOPSIS πΈ
struct pci_dev * ixgbe_get_first_secondary_devfn (unsigned int devfn );
She takes one unsigned int, she hands you back a struct pci_dev *. Simple. Elegant. Iconic π
π¦ ARGUMENTS π¦
devfnβ thePCI_DEVFNof the root port on domain 0, bus 0. That's it, that's the whole input. Domain zero, bus zero energy β¨
π DESCRIPTION π
Returns a pci_dev pointer to PCI_DEVFN(0, 0) on the subordinate side of the root β on domain 0, bus 0, with devfn = devfn.
So like. You give her the root port's devfn, and she points you at the very first device sitting downstream of that root port. No cap, that's the whole job π₯
β SEE ALSO β
The source lives in the kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c β go say hi to her siblings, there's genuinely so many, she has a huge family π
ixgbe_out_i2c_byte_ack(9)ixgbe_in_i2c_byte_ack(9)ixgbe_ones_comp_byte_add(9)ixgbe_read_i2c_combined_generic_int(9)ixgbe_write_i2c_combined_generic_int(9)ixgbe_probe_phy(9)ixgbe_identify_phy_generic(9)ixgbe_check_reset_blocked(9)ixgbe_get_phy_id(9)ixgbe_get_phy_type_from_id(9)ixgbe_reset_phy_generic(9)ixgbe_read_phy_reg_mdi(9)ixgbe_read_phy_reg_generic(9)ixgbe_write_phy_reg_mdi(9)ixgbe_write_phy_reg_generic(9)ixgbe_msca_cmd(9)ixgbe_mii_bus_read_generic_c22(9)ixgbe_mii_bus_read_generic_c45(9)ixgbe_mii_bus_write_generic_c22(9)ixgbe_mii_bus_write_generic_c45(9)ixgbe_mii_bus_read_c22(9)ixgbe_mii_bus_read_c45(9)ixgbe_mii_bus_write_c22(9)ixgbe_mii_bus_write_c45(9)ixgbe_x550em_a_mii_bus_read_c22(9)ixgbe_x550em_a_mii_bus_read_c45(9)ixgbe_x550em_a_mii_bus_write_c22(9)ixgbe_x550em_a_mii_bus_write_c45(9)ixgbe_x550em_a_has_mii(9)ixgbe_mii_bus_init(9)ixgbe_setup_phy_link_generic(9)ixgbe_setup_phy_link_speed_generic(9)ixgbe_get_copper_speeds_supported(9)ixgbe_get_copper_link_capabilities_generic(9)ixgbe_check_phy_link_tnx(9)ixgbe_setup_phy_link_tnx(9)ixgbe_reset_phy_nl(9)ixgbe_identify_module_generic(9)ixgbe_identify_sfp_module_generic(9)ixgbe_identify_qsfp_module_generic(9)ixgbe_get_sfp_init_sequence_offsets(9)ixgbe_read_i2c_eeprom_generic(9)ixgbe_read_i2c_sff8472_generic(9)ixgbe_write_i2c_eeprom_generic(9)ixgbe_is_sfp_probe(9)ixgbe_read_i2c_byte_generic_int(9)ixgbe_read_i2c_byte_generic(9)ixgbe_read_i2c_byte_generic_unlocked(9)ixgbe_write_i2c_byte_generic_int(9)ixgbe_write_i2c_byte_generic(9)ixgbe_write_i2c_byte_generic_unlocked(9)ixgbe_i2c_start(9)ixgbe_i2c_stop(9)ixgbe_clock_in_i2c_byte(9)ixgbe_clock_out_i2c_byte(9)ixgbe_get_i2c_ack(9)ixgbe_clock_in_i2c_bit(9)ixgbe_clock_out_i2c_bit(9)ixgbe_raise_i2c_clk(9)ixgbe_lower_i2c_clk(9)ixgbe_set_i2c_data(9)ixgbe_get_i2c_data(9)ixgbe_i2c_bus_clear(9)ixgbe_tn_check_overtemp(9)
lowkey a whole directory of them, but every single one ate π go read them all, iykyk
mwah π that's the page! Sourced from ./drivers/net/ethernet/intel/i..., dated October 2026, and filed under ixgbe_get_f...ondary_devfn(9) because the header is a serial killer for long names π slay, bye bestie! ππ
π¦ 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