ixgbe_mii_bus_write_c45(9)
π ixgbe_mii_bus_write_c45 β from the Kernel API Manual (yes bestie, the actual kernel docs) π
Ok so picture this: you're deep in the ixgbe driver, you've got a clause 45 register staring at you, and you just need to write to it. That's literally this function's whole personality. It writes a clause 45 register. Periodt. β¨
π¦ NAME π¦
ixgbe_mii_bus_write_c45 β write a clause 45 register. No cap, that's the vibe. π
β¨ SYNOPSIS β¨
int ixgbe_mii_bus_write_c45 (struct mii_bus *bus , int addr , int devad
, int regnum , u16 val );
πΈ ARGUMENTS πΈ
busβ a pointer to themii_busstructure, and that structure is the one pointing at our driver private. iykyk, it's the little handshake that gets you to the right place. π«Άaddrβ the address. that's it, that's the whole thing. πdevadβ the device address to read. (yes, the manpage says read β we're just relaying the lore, don't come for me π)regnumβ the register number. πvalβ the value you're writing in there. slay. β¨
π SEE ALSO π
The source of truth lives in the kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c β go say hi to it sometime. π
And because the kernel doc crew loves a group chat, here's the entire bestie roster, every single one, in order:
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_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_get_first_secondary_devfn(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)
fr fr, that's a lot of i2c friends. the kernel's phy code is one big group chat and everybody's typing at once π
okay that's the whole page, bestie β go forth and write that clause 45 register π
And for the cute sign-off: this lil' entry comes from the source ./drivers/net/ethernet/intel/i... (the manpage truncated it, not me π), dated October 2026 of the Kernel API Manual. 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