STRUCT DEV_INFO(9)
okay bestie, welcome to the struct dev_info(9) page β it's the network device information data structure, and it's literally the group-chat roster for this driver's struct π
β¨
π NAME π
struct dev_info β Network device information data structure π«Ά
β¨ SYNOPSIS β¨
The struct itself, exactly as it appears, no edits bestie:
struct dev_info {
struct net_device *dev;
struct pci_dev *pdev;
struct ksz_hw hw;
struct ksz_shared_mem desc_pool;
spinlock_t hwlock;
struct mutex lock;
int (*dev_rcv)(struct dev_info *);
struct sk_buff *last_skb;
int skb_index;
int skb_len;
struct work_struct mib_read;
struct ksz_timer_info mib_timer_info;
struct ksz_counter_info counter[TOTAL_PORT_NUM];
int mtu;
int opened;
struct tasklet_struct rx_tasklet;
struct tasklet_struct tx_tasklet;
int wol_enable;
int wol_support;
unsigned long pme_wait;
};
π«Ά Members π«Ά
Here's the member-by-member vibe check β every single one, no skips:
devβ pointer to the network device π«Άpdevβ pointer to the PCI device.hwβ the hardware structure.desc_poolβ physical memory used for the descriptor pool.hwlockβ spinlock to prevent hardware from accessing.lockβ mutex lock to prevent device from accessing.dev_rcvβ receive process function used.last_skbβ socket buffer allocated for descriptor rx fragments.skb_indexβ buffer index for receiving fragments.skb_lenβ buffer length for receiving fragments.mib_readβ workqueue to read MIB counters.mib_timer_infoβ timer to read MIB counters.counterβ used for MIB reading.mtuβ current MTU used. The default isREGULAR_RX_BUF_SIZE; the maximum isMAX_RX_BUF_SIZE.openedβ counter to keep track of device open.rx_taskletβ receive processing tasklet.tx_taskletβ transmit processing tasklet.wol_enableβ Wake-on-LAN enable set by ethtool.wol_supportβ Wake-on-LAN support used by ethtool.pme_waitβ used for KSZ8841 power management.
π¦ SEE ALSO π¦
The kernel file is ./drivers/net/ethernet/micrel/ksz884x.c, and here's the full reference squad in original order β every single one, fr fr:
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_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_cfg(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)
This page came from ./drivers/net/ethernet/micrel and it's dated October 2026 β struct dev_info(9) signing off, love u bestie ππΈ
π¦ 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