Ethernet Switch Framework

Marius Strobl marius at alchemy.franken.de
Sun Jan 29 16:19:44 UTC 2012


On Sun, Jan 29, 2012 at 05:00:38PM +0100, Stefan Bethke wrote:
> Am 29.01.2012 um 16:31 schrieb Marius Strobl:
> 
> > How about adding the MDIO provider via multi-pass probing? That idea
> > of that model was to attach things like drivers for interrupt controllers
> > before any other driver that requires that resource. This seems like a
> > perfect match here and requires neither a specific hack to the nexus
> > (the platform generally needs to be multi-pass aware though and the
> > thing enabled in subr_bus.c) nor a hack to miibus(4).
> 
> Please recall the devinfo graph that I posted earlier.  The PHY arge0 needs to talk to is attached to the MDIO master on the switch controller, which in turn is attached to GE1's MDIO master.  This would require early attachment of the switch, in turn requiring early attachment of arge_mdio, in turn requiring early attachment of mips/mips/nexus.
> 

Yes

> > We really need
> > to find a proper way of dealing with the constraints of the embedded-
> > world rather than to sprinkle hacks all over the place.
> 
> Why is the above is less of a hack than making the ordering in nexus configurable through a hint?
> 

If it's generally true that driver A must be attached before driver
B as B has a dependency on A than this should be expressed and
configured in the drivers themselves and not need an extra hint to
configure it at the runtime of the kernel.

Marius



More information about the freebsd-net mailing list