diff options
Diffstat (limited to 'drivers/net/phy/marvell.c')
-rw-r--r-- | drivers/net/phy/marvell.c | 13 |
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 | ||
461 | static 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 | |||
461 | static struct phy_driver marvell_drivers[] = { | 473 | static 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 | { |