Messages in this thread | | | Subject | Re: [PATCH] net: phy: Add DP83825I to the DP83822 driver | From | Florian Fainelli <> | Date | Tue, 19 Mar 2019 11:55:12 -0700 |
| |
On 3/19/19 11:32 AM, Dan Murphy wrote: > Add the DP83825I ethernet PHY to the DP83822 driver. > These devices share the same WoL register bits and addresses. > > The phy_driver init was made into a macro as there may be future > devices appended to this driver that will share the register space. > > http://www.ti.com/lit/gpn/dp83825i > > Signed-off-by: Dan Murphy <dmurphy@ti.com>
Looks good, just a few nitpits below:
> --- > drivers/net/phy/dp83822.c | 36 ++++++++++++++++++++++-------------- > 1 file changed, 22 insertions(+), 14 deletions(-) > > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c > index bbd8c22067f3..02dc05b86326 100644 > --- a/drivers/net/phy/dp83822.c > +++ b/drivers/net/phy/dp83822.c > @@ -15,6 +15,8 @@ > #include <linux/netdevice.h> > > #define DP83822_PHY_ID 0x2000a240 > +#define DP83825I_PHY_ID 0x2000a150 > + > #define DP83822_DEVADDR 0x1f > > #define MII_DP83822_PHYSCR 0x11 > @@ -304,26 +306,32 @@ static int dp83822_resume(struct phy_device *phydev) > return 0; > } > > +#define DP83822_PHY_DRIVER(_id, _name) \ > + { \ > + .phy_id = _id, \
I would put the _id argument between parenthesis to guarantee evaluation order in case you need to do smart things about the ID in the future.
> + .phy_id_mask = 0xfffffff0, \
You can replace those two lines with PHY_ID_MATCH_MODEL()
> + .name = _name, \
Likewise
> + .features = PHY_BASIC_FEATURES, \ > + \
Looks like you have an extra newline here.
With that fixed:
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
> + .soft_reset = dp83822_phy_reset, \ > + .config_init = dp83822_config_init, \ > + .get_wol = dp83822_get_wol, \ > + .set_wol = dp83822_set_wol, \ > + .ack_interrupt = dp83822_ack_interrupt, \ > + .config_intr = dp83822_config_intr, \ > + .suspend = dp83822_suspend, \ > + .resume = dp83822_resume, \ > + } > + > static struct phy_driver dp83822_driver[] = { > - { > - .phy_id = DP83822_PHY_ID, > - .phy_id_mask = 0xfffffff0, > - .name = "TI DP83822", > - .features = PHY_BASIC_FEATURES, > - .config_init = dp83822_config_init, > - .soft_reset = dp83822_phy_reset, > - .get_wol = dp83822_get_wol, > - .set_wol = dp83822_set_wol, > - .ack_interrupt = dp83822_ack_interrupt, > - .config_intr = dp83822_config_intr, > - .suspend = dp83822_suspend, > - .resume = dp83822_resume, > - }, > + DP83822_PHY_DRIVER(DP83822_PHY_ID, "TI DP83822"), > + DP83822_PHY_DRIVER(DP83825I_PHY_ID, "TI DP83825I"), > }; > module_phy_driver(dp83822_driver); > > static struct mdio_device_id __maybe_unused dp83822_tbl[] = { > { DP83822_PHY_ID, 0xfffffff0 }, > + { DP83825I_PHY_ID, 0xfffffff0 }, > { }, > }; > MODULE_DEVICE_TABLE(mdio, dp83822_tbl); >
-- Florian
| |