[PATCH net-next] rust: net::phy inline if expressions to improve read_status

From: Thorsten Blum

Date: Fri Sep 19 2025 - 07:21:23 EST


Inline the if expressions for dev.set_speed() and dev.set_duplex() to
improve read_status(). This ensures dev.set_speed() is called only once
and allows us to remove the local variable 'duplex'.

Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
drivers/net/phy/ax88796b_rust.rs | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/net/phy/ax88796b_rust.rs b/drivers/net/phy/ax88796b_rust.rs
index bc73ebccc2aa..2dfd37936689 100644
--- a/drivers/net/phy/ax88796b_rust.rs
+++ b/drivers/net/phy/ax88796b_rust.rs
@@ -56,18 +56,17 @@ fn read_status(dev: &mut phy::Device) -> Result<u16> {
// linkmode so use MII_BMCR as default values.
let ret = dev.read(C22::BMCR)?;

- if ret & BMCR_SPEED100 != 0 {
- dev.set_speed(uapi::SPEED_100);
+ dev.set_speed(if ret & BMCR_SPEED100 != 0 {
+ uapi::SPEED_100
} else {
- dev.set_speed(uapi::SPEED_10);
- }
+ uapi::SPEED_10
+ });

- let duplex = if ret & BMCR_FULLDPLX != 0 {
+ dev.set_duplex(if ret & BMCR_FULLDPLX != 0 {
phy::DuplexMode::Full
} else {
phy::DuplexMode::Half
- };
- dev.set_duplex(duplex);
+ });

dev.genphy_read_lpa()?;

--
2.51.0