Hi Andrew,

On Wed, Apr 29, 2020 at 08:16:14PM +0200, Andrew Lunn wrote:
> On Tue, Apr 28, 2020 at 09:53:07AM +0200, Oleksij Rempel wrote:
> 
> Hi Oleksij
> 
> Sorry for taking a while to review this. I was busy fixing the FEC
> driver which i broke :-(

Not problem.
Interesting, what is wrong with FEC? We use it a lot.

> > --- a/Documentation/networking/ethtool-netlink.rst
> > +++ b/Documentation/networking/ethtool-netlink.rst
> > @@ -399,6 +399,8 @@ Kernel response contents:
> >    ``ETHTOOL_A_LINKMODES_PEER``          bitset  partner link modes
> >    ``ETHTOOL_A_LINKMODES_SPEED``         u32     link speed (Mb/s)
> >    ``ETHTOOL_A_LINKMODES_DUPLEX``        u8      duplex mode
> > +  ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``  u8      Master/slave port mode
> > +  ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE``  u8      Master/slave port 
> > mode
> >    ====================================  ======  ==========================
> 
> I've not used Sphinx for a while. But it used to be, tables had to be
> correctly aligned. I think you need to pad the other rows with spaces.
>
> Also, the comments should differ. The first is how we want it
> configured, the second is the current state.

ok

> >  
> >  For ``ETHTOOL_A_LINKMODES_OURS``, value represents advertised modes and 
> > mask
> > @@ -421,6 +423,7 @@ Request contents:
> >    ``ETHTOOL_A_LINKMODES_PEER``          bitset  partner link modes
> >    ``ETHTOOL_A_LINKMODES_SPEED``         u32     link speed (Mb/s)
> >    ``ETHTOOL_A_LINKMODES_DUPLEX``        u8      duplex mode
> > +  ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``  u8      Master/slave port mode
> >    ====================================  ======  ==========================
> 
> Same table cleanup needed here.
> 
> > +static int genphy_read_master_slave(struct phy_device *phydev)
> > +{
> > +   int cfg, state = 0;
> > +   u16 val;
> > +
> > +   phydev->master_slave_get = 0;
> > +   phydev->master_slave_state = 0;
> 
> Could you use the _UNKNOWN #defined here?

ok

> > diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
> > index 92f737f101178..eb680e3d6bda5 100644
> > --- a/include/uapi/linux/ethtool.h
> > +++ b/include/uapi/linux/ethtool.h
> > @@ -1666,6 +1666,31 @@ static inline int ethtool_validate_duplex(__u8 
> > duplex)
> >     return 0;
> >  }
> >  
> > +static inline int ethtool_validate_master_slave_cfg(__u8 cfg)
> > +{
> > +   switch (cfg) {
> > +   case PORT_MODE_CFG_MASTER_PREFERRED:
> > +   case PORT_MODE_CFG_SLAVE_PREFERRED:
> > +   case PORT_MODE_CFG_MASTER_FORCE:
> > +   case PORT_MODE_CFG_SLAVE_FORCE:
> > +   case PORT_MODE_CFG_UNKNOWN:
> > +           return 1;
> > +   }
> > +
> > +   return 0;
> > +}
> 
> Does this need to be an inline function? 

Yes, otherwise we get a lot of "defined but not used " warnings.


Regards,
Oleksij
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: PGP signature

Reply via email to