port_r8(9)
π NAME π
port_r8(9) β read byte from port register. That's the whole vibe, bestie: one byte, port register, iconic. β¨ This page is part of the Kernel API Manual, and yes, we are getting into the kernel driver lore.
β¨ SYNOPSIS β¨
void port_r8 (struct ksz_hw *hw , int port , int offset , u8 *data );
π ARGUMENTS π
hwβ the hardware instance. The whole hardware moment.portβ the port index. Which port we're looking at, iykyk.offsetβ the offset of the port register. Where inside that register we're poking around.dataβ buffer to store the data. The little container catching the byte. π«Ά
πΈ DESCRIPTION πΈ
Okay so this routine reads a byte from the port register. That's it, that's the whole plot. One byte, port register, slay. π No cap.
π¦ SEE ALSO π¦
Kernel file ./drivers/net/ethernet/micrel/ksz884x.c is the source file, and honestly here's the entire extended universe of structs and functions. Obsessed with the friend group, fr fr:
- The struct squad:
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). - Interrupts, tables, and port helpers:
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_cfg(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). - PHY, EEPROM, link, and WOL besties:
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 setup, RX/TX, and switch crew:
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). - Timers, descriptors, memory, packets, and netdev icons:
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).
Okay bye bestie π β this page's source/version is ./drivers/net/ethernet/micrel, and the date is October 2026. 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