mdio: Move allocation of interrupts into core
Have mdio_alloc() create the array of interrupt numbers, and initialize it to POLLING. This is what most MDIO drivers want, so allowing code to be removed from the drivers. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
35d2aeac98
commit
e7f4dc3536
@@ -627,7 +627,7 @@ static int ax_mii_init(struct net_device *dev)
|
||||
struct platform_device *pdev = to_platform_device(dev->dev.parent);
|
||||
struct ei_device *ei_local = netdev_priv(dev);
|
||||
struct ax_device *ax = to_ax_dev(dev);
|
||||
int err, i;
|
||||
int err;
|
||||
|
||||
ax->bb_ctrl.ops = &bb_ops;
|
||||
ax->addr_memr = ei_local->mem + AX_MEMR;
|
||||
@@ -642,23 +642,12 @@ static int ax_mii_init(struct net_device *dev)
|
||||
snprintf(ax->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
|
||||
pdev->name, pdev->id);
|
||||
|
||||
ax->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
|
||||
if (!ax->mii_bus->irq) {
|
||||
err = -ENOMEM;
|
||||
goto out_free_mdio_bitbang;
|
||||
}
|
||||
|
||||
for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
ax->mii_bus->irq[i] = PHY_POLL;
|
||||
|
||||
err = mdiobus_register(ax->mii_bus);
|
||||
if (err)
|
||||
goto out_free_irq;
|
||||
goto out_free_mdio_bitbang;
|
||||
|
||||
return 0;
|
||||
|
||||
out_free_irq:
|
||||
kfree(ax->mii_bus->irq);
|
||||
out_free_mdio_bitbang:
|
||||
free_mdio_bitbang(ax->mii_bus);
|
||||
out:
|
||||
|
Reference in New Issue
Block a user