Vladimir Oltean 1f9f2143f2 net: mdio-mux: fix C45 access returning -EIO after API change
The mii_bus API conversion to read_c45() and write_c45() did not cover
the mdio-mux driver before read() and write() were made C22-only.

This broke arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dtso.
The -EOPNOTSUPP from mdiobus_c45_read() is transformed by
get_phy_c45_devs_in_pkg() into -EIO, is further propagated to
of_mdiobus_register() and this makes the mdio-mux driver fail to probe
the entire child buses, not just the PHYs that cause access errors.

Fix the regression by introducing special c45 read and write accessors
to mdio-mux which forward the operation to the parent MDIO bus.

Fixes: db1a63aed89c ("net: phy: Remove fallback to old C45 method")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/20231017143144.3212657-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-10-18 18:08:23 -07:00
..
2023-10-06 07:46:25 -07:00
2023-08-22 15:50:57 +02:00
2023-08-30 13:34:34 -07:00
2023-10-03 11:57:37 -07:00
2023-10-06 15:43:19 -07:00
Hi,
2023-09-13 11:44:20 -07:00
2023-09-04 13:47:59 -07:00
2023-08-31 12:43:10 -07:00
2023-08-24 16:20:30 -07:00
2023-08-30 13:34:34 -07:00
2023-08-30 19:23:00 -07:00
2023-09-30 18:41:37 -07:00
2023-10-06 12:48:06 +10:00
2023-09-04 11:26:29 -07:00
2023-08-28 16:35:01 -07:00
2023-09-01 09:53:54 -07:00
2023-09-06 09:24:25 -07:00
2023-08-31 12:43:10 -07:00
2023-10-05 11:03:20 -07:00
2023-09-01 09:38:00 -07:00
2023-08-30 18:32:24 -07:00
2023-09-14 16:20:31 -06:00
2023-08-18 10:55:49 +05:30
2023-10-06 09:11:13 -07:00
2023-09-07 18:05:58 -07:00
2023-09-04 15:12:26 -07:00
2023-09-04 15:08:52 -07:00
2023-09-07 16:07:35 -07:00
2023-10-12 11:52:23 -07:00
2023-09-03 10:20:57 -07:00
2023-10-12 11:52:23 -07:00
2023-09-04 10:43:44 -07:00
2023-09-21 10:33:49 +02:00
2023-08-24 16:20:18 -07:00
2023-09-06 09:19:12 -07:00
2023-08-21 13:27:44 +02:00