On Mon, 2014-03-10 at 16:23 -0400, David Miller wrote: > From: Sebastian Hesselbarth <[email protected]> > Date: Mon, 10 Mar 2014 10:49:53 +0000 > > > void phy_ethtool_get_wol(struct phy_device *phydev, struct > > ethtool_wolinfo *wol) > > { > > memset(wol, 0, sizeof(*wol)); > > > > if (phydev && phydev->drv->get_wol) > > phydev->drv->get_wol(phydev, wol); > > } > > > > That would also simplify above drivers down to e.g: > > > > static void cpsw_get_wol(struct net_device *ndev, struct > > ethtool_wolinfo *wol) > > { > > struct cpsw_priv *priv = netdev_priv(ndev); > > int slave_no = cpsw_slave_index(priv); > > phy_ethtool_get_wol(priv->slaves[slave_no].phy, wol); > > } > > > > instead of: > > > > static void cpsw_get_wol(struct net_device *ndev, struct > > ethtool_wolinfo *wol) > > { > > struct cpsw_priv *priv = netdev_priv(ndev); > > int slave_no = cpsw_slave_index(priv); > > > > wol->supported = 0; > > wol->wolopts = 0; > > > > if (priv->slaves[slave_no].phy) > > phy_ethtool_get_wol(priv->slaves[slave_no].phy, wol); > > } > > Agreed, since phy_ethtool_get_wol() is the common routine used by the drivers, > we should make it clear the structure.
No, ethtool_get_wol() is the common routine used by *all* the drivers and it initialises the struct properly. Ben. -- Ben Hutchings Computers are not intelligent. They only think they are.
signature.asc
Description: This is a digitally signed message part

