diff options
author | David S. Miller <davem@davemloft.net> | 2011-12-16 02:11:14 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-16 02:11:14 -0500 |
commit | b26e478f8fd5b575684f021b05a5c6236ebb911a (patch) | |
tree | 27d3b3eaf3fe10d05319ad3395b2569ad5f8f6d0 /drivers/net/ethernet/freescale | |
parent | bcebcc468a6bcd3820fe9ad36b34220563efc93a (diff) | |
parent | bb3c36863e8001fc21a88bebfdead4da4c23e848 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/freescale/fsl_pq_mdio.c
net/batman-adv/translation-table.c
net/ipv6/route.c
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r-- | drivers/net/ethernet/freescale/fec.c | 11 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/fsl_pq_mdio.c | 13 |
2 files changed, 13 insertions, 11 deletions
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c index 01ee9cc417b2..4ea2bdc852f8 100644 --- a/drivers/net/ethernet/freescale/fec.c +++ b/drivers/net/ethernet/freescale/fec.c | |||
@@ -232,6 +232,7 @@ struct fec_enet_private { | |||
232 | struct platform_device *pdev; | 232 | struct platform_device *pdev; |
233 | 233 | ||
234 | int opened; | 234 | int opened; |
235 | int dev_id; | ||
235 | 236 | ||
236 | /* Phylib and MDIO interface */ | 237 | /* Phylib and MDIO interface */ |
237 | struct mii_bus *mii_bus; | 238 | struct mii_bus *mii_bus; |
@@ -842,7 +843,7 @@ static void __inline__ fec_get_mac(struct net_device *ndev) | |||
842 | 843 | ||
843 | /* Adjust MAC if using macaddr */ | 844 | /* Adjust MAC if using macaddr */ |
844 | if (iap == macaddr) | 845 | if (iap == macaddr) |
845 | ndev->dev_addr[ETH_ALEN-1] = macaddr[ETH_ALEN-1] + fep->pdev->id; | 846 | ndev->dev_addr[ETH_ALEN-1] = macaddr[ETH_ALEN-1] + fep->dev_id; |
846 | } | 847 | } |
847 | 848 | ||
848 | /* ------------------------------------------------------------------------- */ | 849 | /* ------------------------------------------------------------------------- */ |
@@ -960,7 +961,7 @@ static int fec_enet_mii_probe(struct net_device *ndev) | |||
960 | char mdio_bus_id[MII_BUS_ID_SIZE]; | 961 | char mdio_bus_id[MII_BUS_ID_SIZE]; |
961 | char phy_name[MII_BUS_ID_SIZE + 3]; | 962 | char phy_name[MII_BUS_ID_SIZE + 3]; |
962 | int phy_id; | 963 | int phy_id; |
963 | int dev_id = fep->pdev->id; | 964 | int dev_id = fep->dev_id; |
964 | 965 | ||
965 | fep->phy_dev = NULL; | 966 | fep->phy_dev = NULL; |
966 | 967 | ||
@@ -1040,7 +1041,7 @@ static int fec_enet_mii_init(struct platform_device *pdev) | |||
1040 | * mdio interface in board design, and need to be configured by | 1041 | * mdio interface in board design, and need to be configured by |
1041 | * fec0 mii_bus. | 1042 | * fec0 mii_bus. |
1042 | */ | 1043 | */ |
1043 | if ((id_entry->driver_data & FEC_QUIRK_ENET_MAC) && pdev->id > 0) { | 1044 | if ((id_entry->driver_data & FEC_QUIRK_ENET_MAC) && fep->dev_id > 0) { |
1044 | /* fec1 uses fec0 mii_bus */ | 1045 | /* fec1 uses fec0 mii_bus */ |
1045 | if (mii_cnt && fec0_mii_bus) { | 1046 | if (mii_cnt && fec0_mii_bus) { |
1046 | fep->mii_bus = fec0_mii_bus; | 1047 | fep->mii_bus = fec0_mii_bus; |
@@ -1076,7 +1077,7 @@ static int fec_enet_mii_init(struct platform_device *pdev) | |||
1076 | fep->mii_bus->read = fec_enet_mdio_read; | 1077 | fep->mii_bus->read = fec_enet_mdio_read; |
1077 | fep->mii_bus->write = fec_enet_mdio_write; | 1078 | fep->mii_bus->write = fec_enet_mdio_write; |
1078 | fep->mii_bus->reset = fec_enet_mdio_reset; | 1079 | fep->mii_bus->reset = fec_enet_mdio_reset; |
1079 | snprintf(fep->mii_bus->id, MII_BUS_ID_SIZE, "%x", pdev->id + 1); | 1080 | snprintf(fep->mii_bus->id, MII_BUS_ID_SIZE, "%x", fep->dev_id + 1); |
1080 | fep->mii_bus->priv = fep; | 1081 | fep->mii_bus->priv = fep; |
1081 | fep->mii_bus->parent = &pdev->dev; | 1082 | fep->mii_bus->parent = &pdev->dev; |
1082 | 1083 | ||
@@ -1536,6 +1537,7 @@ fec_probe(struct platform_device *pdev) | |||
1536 | int i, irq, ret = 0; | 1537 | int i, irq, ret = 0; |
1537 | struct resource *r; | 1538 | struct resource *r; |
1538 | const struct of_device_id *of_id; | 1539 | const struct of_device_id *of_id; |
1540 | static int dev_id; | ||
1539 | 1541 | ||
1540 | of_id = of_match_device(fec_dt_ids, &pdev->dev); | 1542 | of_id = of_match_device(fec_dt_ids, &pdev->dev); |
1541 | if (of_id) | 1543 | if (of_id) |
@@ -1563,6 +1565,7 @@ fec_probe(struct platform_device *pdev) | |||
1563 | 1565 | ||
1564 | fep->hwp = ioremap(r->start, resource_size(r)); | 1566 | fep->hwp = ioremap(r->start, resource_size(r)); |
1565 | fep->pdev = pdev; | 1567 | fep->pdev = pdev; |
1568 | fep->dev_id = dev_id++; | ||
1566 | 1569 | ||
1567 | if (!fep->hwp) { | 1570 | if (!fep->hwp) { |
1568 | ret = -ENOMEM; | 1571 | ret = -ENOMEM; |
diff --git a/drivers/net/ethernet/freescale/fsl_pq_mdio.c b/drivers/net/ethernet/freescale/fsl_pq_mdio.c index f1096027b186..9eb815941df5 100644 --- a/drivers/net/ethernet/freescale/fsl_pq_mdio.c +++ b/drivers/net/ethernet/freescale/fsl_pq_mdio.c | |||
@@ -356,14 +356,13 @@ static int fsl_pq_mdio_probe(struct platform_device *ofdev) | |||
356 | 356 | ||
357 | if (prop) | 357 | if (prop) |
358 | tbiaddr = *prop; | 358 | tbiaddr = *prop; |
359 | } | ||
359 | 360 | ||
360 | if (tbiaddr == -1) { | 361 | if (tbiaddr == -1) { |
361 | err = -EBUSY; | 362 | err = -EBUSY; |
362 | 363 | goto err_free_irqs; | |
363 | goto err_free_irqs; | 364 | } else { |
364 | } else { | 365 | out_be32(tbipa, tbiaddr); |
365 | out_be32(tbipa, tbiaddr); | ||
366 | } | ||
367 | } | 366 | } |
368 | 367 | ||
369 | err = of_mdiobus_register(new_bus, np); | 368 | err = of_mdiobus_register(new_bus, np); |