ksz_start_timer(9)
π ksz_start_timer(9) β the kernel API manual, but make it make sense
okay so bestie, we're in the Kernel API Manual today, section 9, and the star of the show is ksz_start_timer β the function that literally justβ¦ starts a kernel timer. that's it. that's the whole vibe. but she's iconic for it π
β¨ NAME β¨
ksz_start_timer β start kernel timer π₯
no cap, that's the whole job description.
π«Ά SYNOPSIS π«Ά
void ksz_start_timer (struct ksz_timer_info *info , int time );
look at her. returns void, takes two things, gets straight to business. main character energy fr fr π
π ARGUMENTS π
infoβ Kernel timer information. this is the struct that knows everything about the timer, like structksz_timer_infoβ it's giving "the timer's whole personality in one pointer" π¦timeβ The time tick. that's the countdown. literally the number of ticks you're waiting before the timer does its little thing β°
πΈ DESCRIPTION πΈ
This routine starts the kernel timer after the specified time tick.
yep, that's the tea β β you hand it the timer info, you hand it a tick count, and she fires up the timer to go off after that many ticks. short, sweet, no notes. ate and left no crumbs π β¨
π¦ SEE ALSO π¦
bestie. sit down. this list is long and i refuse to skip a single one of them because every single reference is a real one and they all deserve their moment π
Kernel file ./drivers/net/ethernet/micrel/ksz884x.c:
- structs first, because we're classy:
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) - then the hw/sw interrupt + table crew:
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) - broadcast storm squad, they come as a set:
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) - priority / diffserv / 802.1p girlies:
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) - vlan + address + stp block:
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 speed:
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) - wake-on-lan extended universe π:
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 / reset / rx-tx life cycle:
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) - addresses & multicast:
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) - and here's our girl's sibling π:
ksz_stop_timer(9) - descriptor + memory management besties:
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) - packet paths:
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 ops corner π§:
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) - eeprom ethtool ops, because of course there are more:
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) - and the final two legends:
dev_monitor(9),netdev_init(9)
likeβ¦ that's the whole friend group and they all showed up to the group chat π«Ά
π a lil sign-off π
this page lives in ./drivers/net/ethernet/micrel and it's dated October 2026 β so yeah, she's from the future, and she's still just starting timers. respect the consistency. 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