igb_get_hw_control(9)
π igb_get_hw_control β NAME energy π
okay so bestie, welcome to the Kernel API Manual (that's the manual name, she's fancy like that), and today's main character is igb_get_hw_control β literally the function that gets control of the h/w from the f/w. no cap, that's the whole NAME section, iconic brevity.
β¨ SYNOPSIS β¨
void igb_get_hw_control (struct igb_adapter *adapter );
that's it. one line. she's lowkey minimal and we respect it π
π«Ά ARGUMENTS π«Ά
adapterβ the address of the board private structure. yes queen, hand her the pointer to the board's private struct and let her cook.
πΈ DESCRIPTION πΈ
okay so here's the vibe: igb_get_hw_control sets the CTRL_EXT:DRV_LOAD bit. that's the whole assignment, periodt. π
and like, for the ASF and Pass Through versions of the f/w (that's firmware for those of us keeping score), that bit means the driver is loaded. so it's giving "hello firmware, the driver has arrived, she's here, she's loaded" β¨
π SEE ALSO π
first up, the kernel file itself, fr fr go read it:
./drivers/net/ethernet/intel/igb/igb_main.c
and now the whole squad, no one gets left behind π β every single one of these beauties:
igb_get_i2c_data(9)igb_set_i2c_data(9)igb_set_i2c_clk(9)igb_get_i2c_clk(9)igb_get_hw_dev(9)igb_init_module(9)igb_exit_module(9)igb_cache_ring_register(9)igb_write_ivar(9)igb_configure_msix(9)igb_request_msix(9)igb_free_q_vector(9)igb_reset_q_vector(9)igb_free_q_vectors(9)igb_clear_interrupt_scheme(9)igb_set_interrupt_capability(9)igb_alloc_q_vector(9)igb_alloc_q_vectors(9)igb_init_interrupt_scheme(9)igb_request_irq(9)igb_irq_disable(9)igb_irq_enable(9)igb_release_hw_control(9)igb_config_tx_modes(9)igb_setup_tx_mode(9)igb_configure(9)igb_power_up_link(9)igb_power_down_link(9)igb_check_swap_media(9)igb_up(9)igb_set_i2c_bb(9)igb_set_fw_version(9)igb_init_mas(9)igb_init_i2c(9)igb_probe(9)igb_remove_i2c(9)igb_remove(9)igb_probe_vfs(9)igb_sw_init(9)__igb_open(9)__igb_close(9)igb_setup_tx_resources(9)igb_setup_all_tx_resources(9)igb_setup_tctl(9)igb_configure_tx_ring(9)igb_configure_tx(9)igb_setup_rx_resources(9)igb_setup_all_rx_resources(9)igb_setup_mrqc(9)igb_setup_rctl(9)igb_setup_srrctl(9)igb_configure_rx_ring(9)igb_configure_rx(9)igb_free_tx_resources(9)igb_free_all_tx_resources(9)igb_clean_tx_ring(9)igb_clean_all_tx_rings(9)igb_free_rx_resources(9)igb_free_all_rx_resources(9)igb_clean_rx_ring(9)igb_clean_all_rx_rings(9)igb_set_mac(9)igb_write_mc_addr_list(9)igb_set_rx_mode(9)igb_has_link(9)igb_check_lvmmc(9)igb_watchdog(9)igb_update_ring_itr(9)igb_update_itr(9)igb_tx_timeout(9)igb_get_stats64(9)igb_change_mtu(9)igb_update_stats(9)igb_set_uta(9)igb_intr_msi(9)igb_intr(9)igb_poll(9)igb_clean_tx_irq(9)igb_reuse_rx_page(9)igb_add_rx_frag(9)igb_is_non_eop(9)igb_cleanup_headers(9)igb_process_skb_fields(9)igb_alloc_rx_buffers(9)igb_mii_ioctl(9)igb_ioctl(9)igb_io_error_detected(9)igb_io_slot_reset(9)igb_io_resume(9)igb_rar_set_index(9)igb_read_i2c_byte(9)igb_write_i2c_byte(9)
like, that's the entire friend group and we love every single one of them ππ
okay and finally, the cute lil sign-off: this page lives in ./drivers/net/ethernet/intel/igb and it's dated October 2026 β so bestie, mark your calendar, that's the version/date tea π¦β¨ slay, go get that hardware control π
π
π¦ 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