Vitaly Bordug wrote:
yes, wrong snippet what about


#ifdef CONFIG_CPM2 +    r = fs_enet_mdio_bb_init(); +   if (r != 0) +
goto out_mdio_bb; +#endif +#ifdef CONFIG_8xx +  r =
fs_enet_mdio_fec_init(); + if (r != 0) + goto out_mdio_fec; +#endif


We had to pray and hope that 8xx would only have fec, and cpm2 has
some bitbanged stuff. now we can inquire dts and know for sure, at
least it seems so.

Yeah, that sucks.  We should add kconfig options for each mii type, and
let them have their own init functions.

That only affects the initcalls (and kernel size), though; it still uses the phy-handle to decide what mdio controller to actually talk to.

How is that different from the old code, where you're hosed without
 fep->fpi->bus_id?



I wasn't defending old code, and consider "old code is POS, new one
is just great" game meaningless. I am just stating the problem, that
we'll have to address later. On 8xx even reference boards may be without phy at all.

OK -- would it suffice to just never call any phylib functions and
always assume the link is up if the phy-handle property is undefined?

ok, agreed, size is most serious judge here. we'll definitely have to
revisit pin problem later too (because custom designs sometimes
switch contradictory devices on-the-fly, disable soc parts for
alternative function, etc.)

If it's really on-the-fly (and not jumpered/once-per-boot), then board code should expose some kind of API to switch the functions, acting like a hotplug bus. Associating it with open/close of the device won't work if one of the devices is something like USB which needs to start working without any internal open()-like action.

-Scott
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to