On Wed, Oct 15, 2008 at 08:28:55AM -0600, Grant Likely wrote:

> description of what is wrong and why the code needs to be removed.  As
> far as I can tell, this code affects two different IRQ paths.  First is

Ups, you are right! I am sorry that I missed that somehow :( Here is
hopefully a better version, which just skips the really unnecessary
interrupt and fixes a glitch in mdio_remove:

===
[MPC52XX] fec_mpc52xx_phy: Minor cleanups

As this driver polls for a complete MDIO transaction, there is no need to enable
interrupts for it. Furthermore, make both checks for freeing MDIO-bus irqs
consistent.

Signed-off-by: Wolfram Sang <[EMAIL PROTECTED]>
---
 drivers/net/fec_mpc52xx_phy.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/net/fec_mpc52xx_phy.c b/drivers/net/fec_mpc52xx_phy.c
index 08e18bc..3ad3750 100644
--- a/drivers/net/fec_mpc52xx_phy.c
+++ b/drivers/net/fec_mpc52xx_phy.c
@@ -133,9 +133,6 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of, 
const struct of_device_i
        /* set MII speed */
        out_be32(&priv->regs->mii_speed, ((mpc52xx_find_ipb_freq(of->node) >> 
20) / 5) << 1);
 
-       /* enable MII interrupt */
-       out_be32(&priv->regs->imask, in_be32(&priv->regs->imask) | 
FEC_IMASK_MII);
-
        err = mdiobus_register(bus);
        if (err)
                goto out_unmap;
@@ -167,7 +164,7 @@ static int mpc52xx_fec_mdio_remove(struct of_device *of)
 
        iounmap(priv->regs);
        for (i=0; i<PHY_MAX_ADDR; i++)
-               if (bus->irq[i])
+               if (bus->irq[i] != PHY_POLL)
                        irq_dispose_mapping(bus->irq[i]);
        kfree(priv);
        kfree(bus->irq);
-- 
1.5.6.5

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to