port_cfg(9)
π port_cfg(9) β like, the port register bit-setter
okay so real talk, this one's from the Kernel API Manual, section 9, and the page is literally called port_cfg. Yes bestie, that port_cfg. Let's get into it π
β¨ SYNOPSIS β¨
void port_cfg (struct ksz_hw *hw , int port , int offset , u16 bits ,
int set );
that's the whole signature, no cap. five things go in, nothing comes out (it's void, she's giving "I do the work, I don't need credit" π
).
πΈ ARGUMENTS πΈ
hwβ the hardware instance. like, the actual switch she's working with π¦portβ the port index. which port are we talking about, bestie? πoffsetβ the offset of the port register. where in the registers we're poking around.bitsβ the data bits to set. these are the actual bits,u16of them πsetβ the flag saying whether those bits are getting set or not. so it's like, a "do the thing / undo the thing" switch. iconic honestly.
π₯ DESCRIPTION π₯
this routine sets or resets the specified bits of the port register. that's it, that's the whole vibe. you hand it a port register offset, you hand it some bits, and you tell it via set whether you're turning those bits on or off. one function, two moods π
π SEE ALSO π
buckle up bestie, this list is long and I am not skipping a single one of them, periodt. first up, the actual kernel file she lives in: ./drivers/net/ethernet/micrel/ksz884x.c. then all her friends:
struct ksz_hw_desc(9)struct ksz_sw_desc(9)struct ksz_dma_buf(9)struct ksz_desc(9)struct ksz_desc_info(9)struct ksz_mac_table(9)struct ksz_vlan_table(9)struct ksz_port_mib(9)struct ksz_port_cfg(9)struct ksz_switch(9)struct ksz_port_info(9)struct ksz_hw(9)struct ksz_port(9)struct ksz_timer_info(9)struct ksz_shared_mem(9)struct ksz_counter_info(9)struct dev_info(9)struct dev_priv(9)hw_turn_on_intr(9)hw_block_intr(9)sw_r_table(9)sw_w_table_64(9)sw_w_sta_mac_table(9)sw_r_vlan_table(9)port_r_mib_cnt(9)port_r_mib_pkt(9)port_r_cnt(9)port_init_cnt(9)port_r8(9)port_r16(9)port_w16(9)sw_chk(9)sw_cfg(9)sw_cfg_broad_storm(9)sw_get_broad_storm(9)sw_dis_broad_storm(9)sw_ena_broad_storm(9)sw_init_broad_storm(9)hw_cfg_broad_storm(9)sw_dis_prio_rate(9)sw_init_prio_rate(9)sw_dis_diffserv(9)sw_dis_802_1p(9)sw_cfg_replace_null_vid(9)sw_cfg_replace_vid(9)sw_cfg_port_based(9)sw_dis_multi_queue(9)sw_init_prio(9)port_get_def_vid(9)sw_init_vlan(9)sw_cfg_port_base_vlan(9)sw_set_addr(9)sw_set_global_ctrl(9)port_set_stp_state(9)sw_clr_sta_mac_table(9)sw_init_stp(9)sw_block_addr(9)hw_r_phy(9)hw_w_phy(9)eeprom_read(9)eeprom_write(9)port_get_link_speed(9)port_set_link_speed(9)port_force_link_speed(9)hw_chk_wol_pme_status(9)hw_clr_wol_pme_status(9)hw_cfg_wol_pme(9)hw_cfg_wol(9)hw_set_wol_frame(9)hw_add_wol_arp(9)hw_add_wol_bcast(9)hw_add_wol_mcast(9)hw_add_wol_ucast(9)hw_enable_wol(9)hw_init(9)hw_reset(9)hw_setup(9)hw_setup_intr(9)hw_set_desc_base(9)hw_start_rx(9)hw_stop_rx(9)hw_start_tx(9)hw_stop_tx(9)hw_disable(9)hw_enable(9)hw_alloc_pkt(9)hw_send_pkt(9)hw_set_addr(9)hw_read_addr(9)hw_clr_multicast(9)hw_set_grp_addr(9)hw_set_multicast(9)hw_set_promiscuous(9)sw_enable(9)sw_setup(9)ksz_start_timer(9)ksz_stop_timer(9)ksz_alloc_soft_desc(9)ksz_alloc_desc(9)free_dma_buf(9)ksz_init_rx_buffers(9)ksz_alloc_mem(9)ksz_free_desc(9)ksz_free_buffers(9)ksz_free_mem(9)send_packet(9)transmit_cleanup(9)tx_done(9)netdev_tx(9)netdev_tx_timeout(9)netdev_intr(9)netdev_close(9)netdev_open(9)netdev_query_statistics(9)netdev_set_mac_address(9)netdev_set_rx_mode(9)netdev_ioctl(9)mdio_read(9)mdio_write(9)netdev_get_link_ksettings(9)netdev_set_link_ksettings(9)netdev_nway_reset(9)netdev_get_link(9)netdev_get_drvinfo(9)netdev_get_regs_len(9)netdev_get_regs(9)netdev_get_wol(9)netdev_set_wol(9)netdev_get_msglevel(9)netdev_set_msglevel(9)netdev_get_eeprom_len(9)netdev_get_eeprom(9)netdev_set_eeprom(9)netdev_get_pauseparam(9)netdev_set_pauseparam(9)netdev_get_ringparam(9)netdev_get_strings(9)netdev_get_sset_count(9)netdev_get_ethtool_stats(9)netdev_set_features(9)dev_monitor(9)netdev_init(9)
see? every single one. ate and left no crumbs π
and that's the whole page bestie!! this lil beauty ships out of ./drivers/net/ethernet/micrel and it's dated October 2026 β go off, future girlies πβ¨π«Ά
π¦ 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