Skip to content

Commit

Permalink
net: thunderx: bgx: Use standard firmware node infrastructure.
Browse files Browse the repository at this point in the history
In the case of OF device tree, the firmware information is attached to
the BGX device structure in the standard manner, so use the firmware
iterators and accessors where possible.

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David Daney authored and David S. Miller committed Feb 11, 2016
1 parent fb4b7d9 commit eee326f
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions drivers/net/ethernet/cavium/thunder/thunder_bgx.c
Original file line number Diff line number Diff line change
Expand Up @@ -968,34 +968,35 @@ static int bgx_init_acpi_phy(struct bgx *bgx)

static int bgx_init_of_phy(struct bgx *bgx)
{
struct device_node *np;
struct device_node *np_child;
struct fwnode_handle *fwn;
u8 lmac = 0;
char bgx_sel[5];
const char *mac;

/* Get BGX node from DT */
snprintf(bgx_sel, 5, "bgx%d", bgx->bgx_id);
np = of_find_node_by_name(NULL, bgx_sel);
if (!np)
return -ENODEV;
device_for_each_child_node(&bgx->pdev->dev, fwn) {
struct device_node *phy_np;
struct device_node *node = to_of_node(fwn);

/* If it is not an OF node we cannot handle it yet, so
* exit the loop.
*/
if (!node)
break;

for_each_child_of_node(np, np_child) {
struct device_node *phy_np = of_parse_phandle(np_child,
"phy-handle", 0);
phy_np = of_parse_phandle(node, "phy-handle", 0);
if (!phy_np)
continue;

bgx->lmac[lmac].phydev = of_phy_find_device(phy_np);

mac = of_get_mac_address(np_child);
mac = of_get_mac_address(node);
if (mac)
ether_addr_copy(bgx->lmac[lmac].mac, mac);

SET_NETDEV_DEV(&bgx->lmac[lmac].netdev, &bgx->pdev->dev);
bgx->lmac[lmac].lmacid = lmac;
lmac++;
if (lmac == MAX_LMAC_PER_BGX) {
of_node_put(np_child);
of_node_put(node);
break;
}
}
Expand Down

0 comments on commit eee326f

Please sign in to comment.