[PATCH net-next 06/16] net: pcs: xpcs: Avoid creating dummy XPCS MDIO device
Vladimir Oltean
olteanv at gmail.com
Tue Dec 5 22:52:34 AEDT 2023
On Tue, Dec 05, 2023 at 01:35:27PM +0300, Serge Semin wrote:
> If the DW XPCS MDIO devices are either left unmasked for being auto-probed
> or explicitly registered in the MDIO subsystem by means of the
> mdiobus_register_board_info() method
mdiobus_register_board_info() has exactly one caller, and that is
dsa_loop. I don't understand the relevance of it w.r.t. Synopsys XPCS.
I'm reading the patches in order from the beginning.
> there is no point in creating the dummy MDIO device instance in order
Why dummy? There's nothing dummy about the mdio_device. It's how the PCS
code accesses the hardware.
> to get the DW XPCS handler since the MDIO core subsystem will create
> the device during the MDIO bus registration procedure.
It won't, though? Unless someone is using mdiobus_register_board_info()
possibly, but who does that?
> All what needs to be done is to just reuse the MDIO-device instance
> available in the mii_bus.mdio_map array (using some getter for it
> would look better though). It shall prevent the XPCS devices been
> accessed over several MDIO-device instances.
>
> Note since the MDIO-device instance might be retrieved from the MDIO-bus
> map array its reference counter shall be increased. If the MDIO-device
> instance is created in the xpcs_create_mdiodev() method its reference
> counter will be already increased. So there is no point in toggling the
> reference counter in the xpcs_create() function. Just drop it from there.
>
> Signed-off-by: Serge Semin <fancer.lancer at gmail.com>
> ---
Sorry, because the commit log lost me at the "context presentation" stage,
I failed to understand the "what"s and the "why"s.
Are you basically trying to add xpcs support on top of an mdio_device
where the mdio_device_create() call was made externally to the xpcs code,
through mdiobus_register_board_info() and mdiobus_setup_mdiodev_from_board_info()?
More information about the openbmc
mailing list