Commit 4742e780 authored by David S. Miller's avatar David S. Miller

Merge branch 'sh_eth'

Sergei Shtylyov says:

====================
Add PHY IRQ support to the 'sh_eth' driver

   This patchset adds support for passing PHY's IRQ to the 'sh_eth' driver from
the platform code and removes now useless code that hinders the PHY IRQ handing
by philib.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 9ddffb8a 4174ecd7
...@@ -1685,8 +1685,8 @@ static int sh_eth_phy_init(struct net_device *ndev) ...@@ -1685,8 +1685,8 @@ static int sh_eth_phy_init(struct net_device *ndev)
return PTR_ERR(phydev); return PTR_ERR(phydev);
} }
dev_info(&ndev->dev, "attached phy %i to driver %s\n", dev_info(&ndev->dev, "attached PHY %d (IRQ %d) to driver %s\n",
phydev->addr, phydev->drv->name); phydev->addr, phydev->irq, phydev->drv->name);
mdp->phydev = phydev; mdp->phydev = phydev;
...@@ -1703,11 +1703,6 @@ static int sh_eth_phy_start(struct net_device *ndev) ...@@ -1703,11 +1703,6 @@ static int sh_eth_phy_start(struct net_device *ndev)
if (ret) if (ret)
return ret; return ret;
/* reset phy - this also wakes it from PDOWN */
ret = phy_init_hw(mdp->phydev);
if (ret)
return ret;
phy_start(mdp->phydev); phy_start(mdp->phydev);
return 0; return 0;
...@@ -2544,6 +2539,8 @@ static int sh_mdio_init(struct net_device *ndev, int id, ...@@ -2544,6 +2539,8 @@ static int sh_mdio_init(struct net_device *ndev, int id,
for (i = 0; i < PHY_MAX_ADDR; i++) for (i = 0; i < PHY_MAX_ADDR; i++)
mdp->mii_bus->irq[i] = PHY_POLL; mdp->mii_bus->irq[i] = PHY_POLL;
if (pd->phy_irq > 0)
mdp->mii_bus->irq[pd->phy] = pd->phy_irq;
/* register mdio bus */ /* register mdio bus */
ret = mdiobus_register(mdp->mii_bus); ret = mdiobus_register(mdp->mii_bus);
......
...@@ -8,6 +8,7 @@ enum {EDMAC_LITTLE_ENDIAN, EDMAC_BIG_ENDIAN}; ...@@ -8,6 +8,7 @@ enum {EDMAC_LITTLE_ENDIAN, EDMAC_BIG_ENDIAN};
struct sh_eth_plat_data { struct sh_eth_plat_data {
int phy; int phy;
int phy_irq;
int edmac_endian; int edmac_endian;
phy_interface_t phy_interface; phy_interface_t phy_interface;
void (*set_mdio_gate)(void *addr); void (*set_mdio_gate)(void *addr);
......
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