STRUCT BOARD_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct board_info(9) ✨

okay bestie, real talk β€” this is a page out of the Kernel API Manual and it's all about struct board_info, the lil' memory box that keeps all the saved data. think of it as the group chat's pinned messages: everything you need to scroll back to later, held in one place. πŸ’…


🌸 NAME 🌸

struct board_info β€” literally just here to maintain the saved data. that's the whole job. icon behaviour, no notes. 🫢


πŸ’– SYNOPSIS πŸ’–

struct board_info {
    u32 msg_enable;
    struct spi_device               *spidev;
    struct net_device               *ndev;
    struct mii_bus                  *mdiobus;
    struct phy_device               *phydev;
    struct sk_buff_head             txq;
    struct regmap                   *regmap_dm;
    struct regmap                   *regmap_dmbulk;
    struct work_struct              rxctrl_work;
    struct work_struct              tx_work;
    struct ethtool_pauseparam       pause;
    struct mutex                    spi_lockm;
    struct mutex                    reg_mutex;
    struct rx_ctl_mach              bc;
    struct dm9051_rxhdr             rxhdr;
    struct dm9051_rxctrl            rctl;
    u8 imr_all;
    u8 lcr_all;
 };

like, look at her. absolutely stacked. every field is a whole personality. πŸ‘‘


πŸŽ€ Members πŸŽ€

okay so let's meet the cast, one by one, no skips, we don't do skips here:

  • msg_enable β€” the message level value. she decides how chatty we're being. πŸ—£οΈ
  • spidev β€” the spi device structure.
  • ndev β€” the net device structure.
  • mdiobus β€” the mii bus structure.
  • phydev β€” the phy device structure.
  • txq β€” the tx queue structure.
  • regmap_dm β€” regmap for register read/write. the main character of the register world, fr.
  • regmap_dmbulk β€” extra regmap for bulk read/write. yes she's the extra one, and we love her for it. ✨
  • rxctrl_work β€” Work queue for updating RX mode and multicast lists.
  • tx_work β€” Work queue for tx packets.
  • pause β€” ethtool pause parameter structure.
  • spi_lockm β€” between threads lock structure. keeping the peace so nobody's stepping on anybody πŸ’…
  • reg_mutex β€” regmap access lock structure.
  • bc β€” rx control statistics structure.
  • rxhdr β€” rx header structure.
  • rctl β€” rx control setting structure.
  • imr_all β€” to store operating imr value for register DM9051_IMR.
  • lcr_all β€” to store operating rcr value for register DM9051_LMCR.

πŸ¦‹ Description πŸ¦‹

The saved data variables, keep up to date for retrieval back to use.

that's it, that's the vibe. it holds the stuff, it keeps the stuff fresh, and it hands the stuff back when you need it. lowkey the most reliable friend in the whole driver. πŸ’œ


πŸ”₯ SEE ALSO πŸ”₯

go check out the Kernel file ./drivers/net/ethernet/davicom/dm9051.c plus these absolute legends:

  • struct rx_ctl_mach(9)
  • struct dm9051_rxctrl(9)
  • struct dm9051_rxhdr(9)

ngl, nothing on this page is dangerous β€” it's a plain data-holding struct, so no scary warnings, no undefined behaviour lurking in the shadows. just vibes and fields. 🌈

and that's the whole page, bestie πŸŽ€ β€” brought to you by ./drivers/net/ethernet/davicom, dated October 2026, and filed under struct board_info(9). bestie behaviour from the kernel, honestly. slay. ⭐

πŸ“¦ where this page comes from