[PATCH net-next v2 0/3] net: phy: add Rust reference driver for ET1011C

From: Artem Lytkin

Date: Mon Feb 23 2026 - 23:32:39 EST


This series adds a Rust reference driver for the LSI ET1011C PHY,
following the pattern established by the existing Rust Asix PHY driver
(ax88796b_rust.rs).

Patch 1 adds a speed() getter to phy::Device, needed to detect speed
changes in read_status.

Patch 2 exposes genphy_config_aneg() in the Rust PHY abstraction,
needed by PHY drivers that perform custom BMCR configuration before
calling the generic auto-negotiation setup.

Patch 3 adds the Rust ET1011C driver itself, implementing config_aneg
and read_status callbacks. It is a feature-equivalent port of the C
driver at drivers/net/phy/et1011c.c.

Changes since v1:
- Added speed() getter to properly detect speed changes (Andrew Lunn)
- read_status now only reconfigures registers when speed changes,
matching the C driver behavior (Andrew Lunn)
- Removed unrelated dim2 staging patches from the series

Artem Lytkin (3):
rust: net: phy: add speed() getter to Device
rust: net: phy: expose genphy_config_aneg()
net: phy: add Rust reference driver for ET1011C

drivers/net/phy/Kconfig | 9 ++++
drivers/net/phy/Makefile | 6 ++-
drivers/net/phy/et1011c_rust.rs | 75 +++++++++++++++++++++++++++++++++
rust/kernel/net/phy.rs | 17 ++++++++
4 files changed, 106 insertions(+), 1 deletion(-)
create mode 100644 drivers/net/phy/et1011c_rust.rs

--
2.43.0