On Sun, 2016-05-08 at 00:56 +0200, Philippe Reynes wrote: > On 07/05/16 13:59, Ben Hutchings wrote: > > > > On Sat, 2016-05-07 at 01:18 +0200, Philippe Reynes wrote: > > > > > > The callback {get|set}_link_ksettings are often defined > > > in a very close way. There are mainly two differences in > > > those callback: > > > - the name of the netdev private structure > > > - the name of the struct phydev in the private structure > > > > > > We add two defines ethtool_phy_{get|set}_link_ksettings > > > to avoid writing severals times almost the same function. > > [...] > > > > I don't think there's no need to access a private structure, as there's > > a phydev pointer in struct net_device. If some drivers don't maintain > > that pointer, they should be changed to do so. Then they can > > use generic implementations of {get,set}_link_ksettings provided by > > phylib. > If we could use the phydev in the struct net_device, we could write a > generic function for {get|set}_link_ksettings. It's a good idea. > > But I've quickly looked and a lot of ethernet driver use the private > structure to store the phydev. If the ethernet driver may use the > struct net_device for phydev, do you know why so many drivers use > the private structure ?
Maybe just because no-one bothered to update them after it was added to net_device. Ben. > If everybody agree, I can send a new version with a generic > {get|set}_link_ksettings > and a update of fec to use the phydev store in the structure net_device. -- Ben Hutchings I haven't lost my mind; it's backed up on tape somewhere.
signature.asc
Description: This is a digitally signed message part