Commit d47f3640 authored by Johannes Berg's avatar Johannes Berg Committed by David S. Miller

[SUNGEM]: Marvell PHY suspend.

In a short discussion with Benjamin Herrenschmidt he mentioned
that Marvell PHYs are powered down the same way as the other
ones we currently handle. Thus actually do that, hopefully
saving some power during suspend.
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5185db09
...@@ -275,7 +275,7 @@ static int bcm5411_init(struct mii_phy* phy) ...@@ -275,7 +275,7 @@ static int bcm5411_init(struct mii_phy* phy)
return 0; return 0;
} }
static int bcm5411_suspend(struct mii_phy* phy) static int generic_suspend(struct mii_phy* phy)
{ {
phy_write(phy, MII_BMCR, BMCR_PDOWN); phy_write(phy, MII_BMCR, BMCR_PDOWN);
...@@ -738,7 +738,7 @@ static struct mii_phy_def bcm5401_phy_def = { ...@@ -738,7 +738,7 @@ static struct mii_phy_def bcm5401_phy_def = {
/* Broadcom BCM 5411 */ /* Broadcom BCM 5411 */
static struct mii_phy_ops bcm5411_phy_ops = { static struct mii_phy_ops bcm5411_phy_ops = {
.init = bcm5411_init, .init = bcm5411_init,
.suspend = bcm5411_suspend, .suspend = generic_suspend,
.setup_aneg = bcm54xx_setup_aneg, .setup_aneg = bcm54xx_setup_aneg,
.setup_forced = bcm54xx_setup_forced, .setup_forced = bcm54xx_setup_forced,
.poll_link = genmii_poll_link, .poll_link = genmii_poll_link,
...@@ -757,7 +757,7 @@ static struct mii_phy_def bcm5411_phy_def = { ...@@ -757,7 +757,7 @@ static struct mii_phy_def bcm5411_phy_def = {
/* Broadcom BCM 5421 */ /* Broadcom BCM 5421 */
static struct mii_phy_ops bcm5421_phy_ops = { static struct mii_phy_ops bcm5421_phy_ops = {
.init = bcm5421_init, .init = bcm5421_init,
.suspend = bcm5411_suspend, .suspend = generic_suspend,
.setup_aneg = bcm54xx_setup_aneg, .setup_aneg = bcm54xx_setup_aneg,
.setup_forced = bcm54xx_setup_forced, .setup_forced = bcm54xx_setup_forced,
.poll_link = genmii_poll_link, .poll_link = genmii_poll_link,
...@@ -776,7 +776,7 @@ static struct mii_phy_def bcm5421_phy_def = { ...@@ -776,7 +776,7 @@ static struct mii_phy_def bcm5421_phy_def = {
/* Broadcom BCM 5421 built-in K2 */ /* Broadcom BCM 5421 built-in K2 */
static struct mii_phy_ops bcm5421k2_phy_ops = { static struct mii_phy_ops bcm5421k2_phy_ops = {
.init = bcm5421_init, .init = bcm5421_init,
.suspend = bcm5411_suspend, .suspend = generic_suspend,
.setup_aneg = bcm54xx_setup_aneg, .setup_aneg = bcm54xx_setup_aneg,
.setup_forced = bcm54xx_setup_forced, .setup_forced = bcm54xx_setup_forced,
.poll_link = genmii_poll_link, .poll_link = genmii_poll_link,
...@@ -795,7 +795,7 @@ static struct mii_phy_def bcm5421k2_phy_def = { ...@@ -795,7 +795,7 @@ static struct mii_phy_def bcm5421k2_phy_def = {
/* Broadcom BCM 5462 built-in Vesta */ /* Broadcom BCM 5462 built-in Vesta */
static struct mii_phy_ops bcm5462V_phy_ops = { static struct mii_phy_ops bcm5462V_phy_ops = {
.init = bcm5421_init, .init = bcm5421_init,
.suspend = bcm5411_suspend, .suspend = generic_suspend,
.setup_aneg = bcm54xx_setup_aneg, .setup_aneg = bcm54xx_setup_aneg,
.setup_forced = bcm54xx_setup_forced, .setup_forced = bcm54xx_setup_forced,
.poll_link = genmii_poll_link, .poll_link = genmii_poll_link,
...@@ -816,6 +816,7 @@ static struct mii_phy_def bcm5462V_phy_def = { ...@@ -816,6 +816,7 @@ static struct mii_phy_def bcm5462V_phy_def = {
* would be useful here) --BenH. * would be useful here) --BenH.
*/ */
static struct mii_phy_ops marvell_phy_ops = { static struct mii_phy_ops marvell_phy_ops = {
.suspend = generic_suspend,
.setup_aneg = marvell_setup_aneg, .setup_aneg = marvell_setup_aneg,
.setup_forced = marvell_setup_forced, .setup_forced = marvell_setup_forced,
.poll_link = genmii_poll_link, .poll_link = genmii_poll_link,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment