On 23/03/2018 at 14:08:10 -0700, Florian Fainelli wrote: > On 03/23/2018 01:11 PM, Alexandre Belloni wrote: > > Add Microsemi Ocelot internal PHY ids. For now, simply use the genphy > > functions but more features are available. > > > > Cc: Raju Lakkaraju <Raju.Lakkaraju@xxxxxxxxxxxxx> > > Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > > --- > > drivers/net/phy/mscc.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c > > index 650c2667d523..e1ab3acd1cdb 100644 > > --- a/drivers/net/phy/mscc.c > > +++ b/drivers/net/phy/mscc.c > > @@ -91,6 +91,7 @@ enum rgmii_rx_clock_delay { > > #define SECURE_ON_PASSWD_LEN_4 0x4000 > > > > /* Microsemi PHY ID's */ > > +#define PHY_ID_OCELOT 0x00070540 > > #define PHY_ID_VSC8530 0x00070560 > > #define PHY_ID_VSC8531 0x00070570 > > #define PHY_ID_VSC8540 0x00070760 > > @@ -658,6 +659,19 @@ static int vsc85xx_probe(struct phy_device *phydev) > > > > /* Microsemi VSC85xx PHYs */ > > static struct phy_driver vsc85xx_driver[] = { > > +{ > > + .phy_id = PHY_ID_OCELOT, > > + .name = "Microsemi OCELOT", > > + .phy_id_mask = 0xfffffff0, > > + .features = PHY_GBIT_FEATURES, > > + .soft_reset = &genphy_soft_reset, > > + .config_init = &genphy_config_init, > > + .config_aneg = &genphy_config_aneg, > > + .aneg_done = &genphy_aneg_done, > > + .read_status = &genphy_read_status, > > + .suspend = &genphy_suspend, > > + .resume = &genphy_resume, > > With the exception of config_init(), suspend and resume, everything else > is already the default when you don't provide a callback. To echo to > what Andrew wrote already, if the purpose is just to show a nice name, > and do nothing else, consider using the Generic PHY driver (default). Ok, I'll drop this patch for now, until we handle more features for that PHY. -- Alexandre Belloni, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com