hw_enable(9)
hw_enable(9) β enable hardware π β¨
okay so real talk, this is straight out of the Kernel API Manual (the hw_enable(9) page, yes bestie, section 9), and it's honestly iconic in how little it does. let's get into it π«Ά
β¨ NAME β¨
hw_enable β enable hardware. that's it. that's the vibe. πΈ
β¨ SYNOPSIS β¨
void hw_enable (struct ksz_hw *hw );
literally one function, no return value, no drama. void means it gives you nothing back and honestly? respect. π
π ARGUMENTS π
hwβ the hardware instance. like, the actual hardware. hand it over and it's go time π¦
π₯ DESCRIPTION π₯
so this routine enables the hardware. no cap, that's the whole entire description. it turns the hardware on. main character energy fr fr π
no extra lore here, bestie β the source gave us one sentence and we're not gonna invent any. that's the whole bit.
π SEE ALSO π
this list is long, like, genuinely enormous, and every single one of these is in the original, so buckle up π
the home base π
- Kernel file
./drivers/net/ethernet/micrel/ksz884x.c
the structs (struct girlies rise) π§
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 β‘
table access, lowkey obsessed π
counters & port reads π
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)
switch config era π
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 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 nation π
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)
the hw_* squad π
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_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)
more switch + timer + memory π
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)
packet path & netdev basics π
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 π§
netdev ethtool-adjacent everything β¨
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)
and the last two, we love a grand finale π
and that's the whole page bestie, short and sweet, no notes π
sign-off szn: this lil beauty comes from source ./drivers/net/ethernet/micrel, dated October 2026, and it's page hw_enable(9) forever and always ππ«Άβ¨
π¦ 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