aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/marvell.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/phy/marvell.c')
-rw-r--r--drivers/net/phy/marvell.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index e9f436ba800f..7a3ec9d39a9a 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -458,6 +458,18 @@ static int marvell_read_status(struct phy_device *phydev)
458 return 0; 458 return 0;
459} 459}
460 460
461static int m88e1121_did_interrupt(struct phy_device *phydev)
462{
463 int imask;
464
465 imask = phy_read(phydev, MII_M1011_IEVENT);
466
467 if (imask & MII_M1011_IMASK_INIT)
468 return 1;
469
470 return 0;
471}
472
461static struct phy_driver marvell_drivers[] = { 473static struct phy_driver marvell_drivers[] = {
462 { 474 {
463 .phy_id = 0x01410c60, 475 .phy_id = 0x01410c60,
@@ -520,6 +532,7 @@ static struct phy_driver marvell_drivers[] = {
520 .read_status = &marvell_read_status, 532 .read_status = &marvell_read_status,
521 .ack_interrupt = &marvell_ack_interrupt, 533 .ack_interrupt = &marvell_ack_interrupt,
522 .config_intr = &marvell_config_intr, 534 .config_intr = &marvell_config_intr,
535 .did_interrupt = &m88e1121_did_interrupt,
523 .driver = { .owner = THIS_MODULE }, 536 .driver = { .owner = THIS_MODULE },
524 }, 537 },
525 { 538 {