In message <20121208123830.GM24458@xxxxxxxxxxxxxx> Sascha Hauer wrote: > On Sat, Dec 08, 2012 at 12:15:03PM +0100, Sascha Hauer wrote: > > On Sat, Dec 08, 2012 at 09:58:52AM +0800, 张忠山 wrote: > > > According the match logic in function mdio_bus_match > > > generic phy driver matchs nothing. > > > > This is done on purpose. The generic phy driver is probed manually > > when no other phy matches, see: > > > > > static int phy_register_device(struct phy_device* dev) > > > { > > > int ret; > > > > > > ret = register_device(&dev->dev); > > > if (ret) > > > return ret; > > > > register device... > > > > > > > > if (dev->dev.driver) > > > return 0; > > > > ... we have a driver specific to this phy, -> return > > > > > > > > dev->dev.driver = &genphy_driver.drv; > > > return device_probe(&dev->dev); > > > > No driver, use generic phy driver. > > > > >} > > > > The problem this solves (and that you reintroduce with this patch) is > > that if the phy driver matches every device, a more specific phy driver > > will not be used if the generic driver is registered first. > > Now I understand what you mean. > Sorry for not mention the source code version -- Best Regards, zzs _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox