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

Artem Lytkin posted 2 patches 1 month, 1 week ago
drivers/net/phy/Kconfig         |  9 +++++
drivers/net/phy/Makefile        |  6 ++-
drivers/net/phy/et1011c_rust.rs | 69 +++++++++++++++++++++++++++++++++
rust/kernel/net/phy.rs          |  8 ++++
4 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 drivers/net/phy/et1011c_rust.rs
[PATCH net-next v3 0/2] net: phy: add Rust reference driver for ET1011C
Posted by Artem Lytkin 1 month, 1 week ago
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 adds the Rust ET1011C driver itself, implementing soft_reset
and read_status callbacks.

Changes since v2:
  - Replaced custom config_aneg with soft_reset callback using
    genphy_soft_reset(), which properly polls the self-clearing
    BMCR_RESET bit and handles autoneg/forced mode (Andrew Lunn)
  - Removed all BMCR constant definitions (no longer needed)
  - Dropped genphy_config_aneg() abstraction patch (no longer used)

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)

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

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

-- 
2.43.0
Re: [PATCH net-next v3 0/2] net: phy: add Rust reference driver for ET1011C
Posted by Andrew Lunn 1 month, 1 week ago
On Tue, Feb 24, 2026 at 04:49:24PM +0000, Artem Lytkin wrote:
> 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 adds the Rust ET1011C driver itself, implementing soft_reset
> and read_status callbacks.

Please don't post a new version within 24 hours.

https://www.kernel.org/doc/html/latest/process/maintainer-netdev.html

Also, each version should be in a thread of its own.

Yes, the code is the easy bit, getting the processes correct is
hard. But given the volume of patches, you need to follow the
processes otherwise it does not scale.

There are also some unanswered questions from the last version. Please
don't post a new version until the discussion has come to a
conclusion.

	Andrew