Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: nxp-tja11xx: remove the use of .ack_interrupt()

In preparation of removing the .ack_interrupt() callback, we must replace
its occurrences (aka phy_clear_interrupt), from the 2 places where it is
called from (phy_enable_interrupts and phy_disable_interrupts), with
equivalent functionality.

This means that clearing interrupts now becomes something that the PHY
driver is responsible of doing, before enabling interrupts and after
clearing them. Make this driver follow the new contract.

Cc: Marek Vasut <marex@denx.de>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Ioana Ciornei and committed by
Jakub Kicinski
45f52f12 52b1984a

+15 -4
+15 -4
drivers/net/phy/nxp-tja11xx.c
··· 600 600 static int tja11xx_config_intr(struct phy_device *phydev) 601 601 { 602 602 int value = 0; 603 + int err; 603 604 604 - if (phydev->interrupts == PHY_INTERRUPT_ENABLED) 605 + if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { 606 + err = tja11xx_ack_interrupt(phydev); 607 + if (err) 608 + return err; 609 + 605 610 value = MII_INTEN_LINK_FAIL | MII_INTEN_LINK_UP; 611 + err = phy_write(phydev, MII_INTEN, value); 612 + } else { 613 + err = phy_write(phydev, MII_INTEN, value); 614 + if (err) 615 + return err; 606 616 607 - return phy_write(phydev, MII_INTEN, value); 617 + err = tja11xx_ack_interrupt(phydev); 618 + } 619 + 620 + return err; 608 621 } 609 622 610 623 static irqreturn_t tja11xx_handle_interrupt(struct phy_device *phydev) ··· 781 768 .get_sset_count = tja11xx_get_sset_count, 782 769 .get_strings = tja11xx_get_strings, 783 770 .get_stats = tja11xx_get_stats, 784 - .ack_interrupt = tja11xx_ack_interrupt, 785 771 .config_intr = tja11xx_config_intr, 786 772 .handle_interrupt = tja11xx_handle_interrupt, 787 773 .cable_test_start = tja11xx_cable_test_start, ··· 804 792 .get_sset_count = tja11xx_get_sset_count, 805 793 .get_strings = tja11xx_get_strings, 806 794 .get_stats = tja11xx_get_stats, 807 - .ack_interrupt = tja11xx_ack_interrupt, 808 795 .config_intr = tja11xx_config_intr, 809 796 .handle_interrupt = tja11xx_handle_interrupt, 810 797 .cable_test_start = tja11xx_cable_test_start,