On 23:01 Sun 16 Sep , Sascha Hauer wrote: > On Sun, Sep 16, 2012 at 07:54:58PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote: > > Adapt phylib from linux > > > > switch all the driver to it > > > > This will allow to have > > - phy drivers > > - to only connect the phy at then opening of the device > > - if the phy is not ready or not up fail on open > > > > Same behaviour as in linux and will allow to share code and simplify porting. > > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > > > +/* Automatically gets and returns the PHY device */ > > +int phy_device_connect(struct mii_device *bus, int addr, > > + void (*adjust_link) (struct eth_device *edev), > > + u32 flags, phy_interface_t interface) > > +{ > > + struct eth_device *edev = bus->edev; > > You should pass in a struct eth_device pointer here instead of getting > it from bus->edev because a struct mii_device can have multiple ethernet > devices. The next step would be to remove the edev member from struct > mii_dev and add it to struct phy_device insted. pass the edev ok. drop the edbua in mii_device ok. add the phy_device no the miidev is just the bus do not care about the phydev. we add attached the phydev to the eth_device not the mii_device > > BTW no typedefs please. Use enum phy_interface instead. linux code I really do not want to touch it Best Regards, J. > > Sascha > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox