__mxl86110_r...extended_reg(9)
π
__mxl86110_read_extended_reg β Kernel API Manual β¨
okay so bestie, welcome to the little corner of the kernel docs about __mxl86110_read_extended_reg, from the Kernel API Manual. it's giving "niche PHY driver internals" and honestly? iconic. let's get into it π«Ά
πΈ NAME πΈ
__mxl86110_read_extended_reg β Read a PHY's extended register π
β SYNOPSIS β
int __mxl86110_read_extended_reg (struct phy_device *phydev , u16 regnum );
like, that's the whole signature. short king. π
π ARGUMENTS π
phydevβ pointer to the PHY device structure. this is your main character, the actual PHY we're talking to πregnumβ the extended register number to read. fun fact: this is the address that gets written to reg 30, so like, that's literally its whole job β¨
π¦ DESCRIPTION π¦
so this bad boy is the unlocked version of mxl86110_read_extended_reg. yes, "unlocked" β as in it does NOT grab the lock for you. more on that in the note, bestie, don't scroll past it π
it reads the content of a PHY extended register using the MaxLinear 2-step access mechanism. and because we love a two-step process, here's exactly what happens, no cap:
- write the register address to reg 30 (
0x1E) βοΈ - then read the value from reg 31 (
0x1F) π
that's it. that's the whole vibe. two registers, one function, eternal slay. π₯
π NOTE π
this function assumes the caller already holds the MDIO bus lock or otherwise has exclusive access to the PHY.
read that again, fr fr. no lock grabbing happens in here. if you call it without the lock, that's on you, not me, not the function. protect your concurrency, bestie ππ
π RETURN π
returns a 16-bit register value on success, or a negative errno code on failure. so like, check your return values, okay? negative numbers are NOT a value here, they're a cry for help π₯²
π SEE ALSO π
the kernel file, living its best life at ./drivers/net/phy/mxl-86110.c π
and a whole friend group of related functions β honestly the group chat is popping off:
__mxl86110_write_extended_reg(9)__mxl86110_modify_extended_reg(9)mxl86110_write_extended_reg(9)mxl86110_read_extended_reg(9)mxl86110_modify_extended_reg(9)mxl86110_get_wol(9)mxl86110_set_wol(9)mxl86110_synce_clk_cfg(9)mxl86110_broadcast_cfg(9)mxl86110_enable_led_activity_blink(9)mxl86110_config_rgmii_delay(9)mxl86110_config_init(9)mxl86111_probe(9)mxl86111_config_init(9)mxl86111_read_page(9)mxl86111_write_page(9)
go read all of them. that's the assignment. πβ¨
kisses and good vibes from ./drivers/net/phy, dated October 2026, for the __mxl86110_r...extended_reg(9) page in the Kernel API Manual β mwah, slay, bye ππ
π
π¦ 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