Message ID | 20210919151146.10501-2-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,1/3] net: phy: at803x: add support for qca 8327 A variant internal phy | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | warning | Series does not have a cover letter |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | success | CCed 6 of 6 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 42 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
> +static int qca83xx_suspend(struct phy_device *phydev) > +{ > + phy_modify(phydev, MII_BMCR, 0, BMCR_PDOWN); > + > + return 0; > +} > + > +static int qca83xx_resume(struct phy_device *phydev) > +{ > + return phy_modify(phydev, MII_BMCR, BMCR_PDOWN, 0); > +} > + genphy_suspend() and genphy_resume() do exactly this. Please use the helpers. Please also add a patch 0/3 which explains the big picture. It will be used in the merge commit. Andrew
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 618e014abd2f..8156fbc7f00d 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1312,6 +1312,18 @@ static int qca83xx_config_init(struct phy_device *phydev) return 0; } +static int qca83xx_suspend(struct phy_device *phydev) +{ + phy_modify(phydev, MII_BMCR, 0, BMCR_PDOWN); + + return 0; +} + +static int qca83xx_resume(struct phy_device *phydev) +{ + return phy_modify(phydev, MII_BMCR, BMCR_PDOWN, 0); +} + static struct phy_driver at803x_driver[] = { { /* Qualcomm Atheros AR8035 */ @@ -1421,6 +1433,8 @@ static struct phy_driver at803x_driver[] = { .get_sset_count = at803x_get_sset_count, .get_strings = at803x_get_strings, .get_stats = at803x_get_stats, + .suspend = qca83xx_suspend, + .resume = qca83xx_resume, }, { /* QCA8327-A from switch QCA8327-AL1A */ .phy_id = QCA8327_A_PHY_ID, @@ -1434,6 +1448,8 @@ static struct phy_driver at803x_driver[] = { .get_sset_count = at803x_get_sset_count, .get_strings = at803x_get_strings, .get_stats = at803x_get_stats, + .suspend = qca83xx_suspend, + .resume = qca83xx_resume, }, { /* QCA8327-B from switch QCA8327-BL1A */ .phy_id = QCA8327_B_PHY_ID, @@ -1447,6 +1463,8 @@ static struct phy_driver at803x_driver[] = { .get_sset_count = at803x_get_sset_count, .get_strings = at803x_get_strings, .get_stats = at803x_get_stats, + .suspend = qca83xx_suspend, + .resume = qca83xx_resume, }, }; module_phy_driver(at803x_driver);
Add resume/suspend function to qca83xx internal phy. We can't use the at803x generic function as the documentation lacks of any support for WoL regs. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> --- drivers/net/phy/at803x.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)