igc_add_nfc_rule(9)
π
igc_add_nfc_rule(9) β the Kernel API Manual glow-up π
okay so bestie, welcome to the Kernel API Manual β¨ this is the page for igc_add_nfc_rule, and yes it's a whole vibe. buckle up π
πΈ NAME πΈ
igc_add_nfc_rule β literally just Add NFC rule. that's the whole thing. iconic brevity tbh π
β¨ SYNOPSIS β¨
int igc_add_nfc_rule (struct igc_adapter *adapter , struct igc_nfc_rule
*rule );
like, take an adapter, take a rule, give me back an int. and yes the spacing in there is exactly how the original does it, don't come for me π«Ά
π¦ ARGUMENTS π¦
adapterβ pointer to adapter. that's the whole description bestie, it's a pointer, it points at the adapter, we move πruleβ pointer to the rule to be added. this is the one getting added, hence the name, her main character moment fr π₯
π DESCRIPTION π
so what actually happens: this function enables the NFC rule in hardware and adds it to the adapter. both. not one or the other. no cap. β¨
it's giving "do the hardware thing, then file the paperwork," and honestly? slay.
π§ CONTEXT π§
β οΈ important bestie β this one expects adapter->nfc_rule_lock to be held by the caller. meaning you, the caller, gotta be holding that lock already. the function is not gonna do it for you. not me being your lock accountability partner ππ
β RETURN β
0β on success π ate, no crumbs- negative errno β on failure π it's giving "something went sideways," and the negative errno will tell you which flavour
π SEE ALSO π
first up, the source file itself lives in the kernel at:
./drivers/net/ethernet/intel/igc/igc_main.c
and here's the full squad of related pages β every single one, i did not skip a single one, we do not leave anyone behind in this group chat π«Ά
igc_power_up_link(9)igc_release_hw_control(9)igc_get_hw_control(9)igc_clean_tx_ring(9)igc_free_tx_resources(9)igc_free_all_tx_resources(9)igc_clean_all_tx_rings(9)igc_disable_all_tx_rings_hw(9)igc_setup_tx_resources(9)igc_setup_all_tx_resources(9)igc_clean_rx_ring(9)igc_clean_all_rx_rings(9)igc_free_rx_resources(9)igc_free_all_rx_resources(9)igc_setup_rx_resources(9)igc_setup_all_rx_resources(9)igc_configure_rx_ring(9)igc_configure_rx(9)igc_configure_tx_ring(9)igc_configure_tx(9)igc_setup_mrqc(9)igc_setup_rctl(9)igc_setup_tctl(9)igc_set_mac_filter_hw(9)igc_clear_mac_filter_hw(9)igc_set_mac(9)igc_write_mc_addr_list(9)igc_process_skb_fields(9)igc_add_rx_frag(9)igc_reuse_rx_page(9)igc_is_non_eop(9)igc_cleanup_headers(9)igc_alloc_rx_buffers(9)igc_clean_tx_irq(9)igc_add_mac_filter(9)igc_del_mac_filter(9)igc_add_vlan_prio_filter(9)igc_del_vlan_prio_filter(9)igc_add_etype_filter(9)igc_del_etype_filter(9)igc_get_nfc_rule(9)igc_del_nfc_rule(9)igc_enable_empty_addr_recv(9)igc_set_rx_mode(9)igc_configure(9)igc_write_ivar(9)igc_configure_msix(9)igc_irq_enable(9)igc_irq_disable(9)igc_reset_q_vector(9)igc_free_q_vector(9)igc_free_q_vectors(9)igc_update_itr(9)igc_set_interrupt_capability(9)igc_update_ring_itr(9)igc_cache_ring_register(9)igc_poll(9)igc_alloc_q_vector(9)igc_alloc_q_vectors(9)igc_init_interrupt_scheme(9)igc_sw_init(9)igc_up(9)igc_update_stats(9)igc_down(9)igc_change_mtu(9)igc_tx_timeout(9)igc_get_stats64(9)igc_msix_other(9)igc_request_msix(9)igc_clear_interrupt_scheme(9)igc_has_link(9)igc_watchdog(9)igc_intr_msi(9)igc_intr(9)igc_request_irq(9)__igc_open(9)__igc_close(9)igc_probe(9)igc_remove(9)igc_io_error_detected(9)igc_io_slot_reset(9)igc_io_resume(9)igc_reinit_queues(9)igc_get_hw_dev(9)igc_init_module(9)igc_exit_module(9)
and that's the page bestie π go forth, hold that lock, add that rule, be the caller you want to see in the world π
sign-off szn: this little beauty lives in ./drivers/net/ethernet/intel/igc, dated October 2026, and yeah β it's still igc_add_nfc_rule(9), no notes, periodt πΈβ¨π¦
π¦ 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