diff options
author | Pankaj Bansal <pankaj.bansal@nxp.com> | 2018-10-10 14:08:30 +0530 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2018-10-10 12:36:34 -0500 |
commit | d75e81d9e05575e3f8471e618846565b15b30060 (patch) | |
tree | ed1a17eca885da75050ec47d0faddd9dd3c7dbb2 /drivers/net/ldpaa_eth/ldpaa_eth.c | |
parent | afd6c6b4701d652a68f5d93ad26eba6793e36c81 (diff) |
driver: net: fsl-mc: remove unused strcture elements
The phydev structure is present in both ldpaa_eth_priv and
wriop_dpmac_info. the phydev in wriop_dpmac_info is not being used
As the phydev is created based on phy_addr and bus members of
wriop_dpmac_info, it is appropriate to keep phydev in wriop_dpmac_info.
Also phy_regs is not being used, therefore remove it
Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'drivers/net/ldpaa_eth/ldpaa_eth.c')
-rw-r--r-- | drivers/net/ldpaa_eth/ldpaa_eth.c | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c index 82a684bea2..39f81daafd 100644 --- a/drivers/net/ldpaa_eth/ldpaa_eth.c +++ b/drivers/net/ldpaa_eth/ldpaa_eth.c @@ -35,7 +35,7 @@ static int init_phy(struct eth_device *dev) return -1; } - priv->phydev = phydev; + wriop_set_phy_dev(priv->dpmac_id, phydev); return phy_config(phydev); } @@ -388,6 +388,7 @@ static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd) struct mii_dev *bus; phy_interface_t enet_if; struct dpni_queue d_queue; + struct phy_device *phydev = NULL; if (net_dev->state == ETH_STATE_ACTIVE) return 0; @@ -408,38 +409,41 @@ static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd) goto err_dpmac_setup; #ifdef CONFIG_PHYLIB - if (priv->phydev) { - err = phy_startup(priv->phydev); + phydev = wriop_get_phy_dev(priv->dpmac_id); + if (phydev) { + err = phy_startup(phydev); if (err) { printf("%s: Could not initialize\n", - priv->phydev->dev->name); + phydev->dev->name); goto err_dpmac_bind; } } #else - priv->phydev = (struct phy_device *)malloc(sizeof(struct phy_device)); - memset(priv->phydev, 0, sizeof(struct phy_device)); + phydev = (struct phy_device *)malloc(sizeof(struct phy_device)); + memset(phydev, 0, sizeof(struct phy_device)); + wriop_set_phy_dev(priv->dpmac_id, phydev); - priv->phydev->speed = SPEED_1000; - priv->phydev->link = 1; - priv->phydev->duplex = DUPLEX_FULL; + phydev->speed = SPEED_1000; + phydev->link = 1; + phydev->duplex = DUPLEX_FULL; #endif bus = wriop_get_mdio(priv->dpmac_id); enet_if = wriop_get_enet_if(priv->dpmac_id); if ((bus == NULL) && (enet_if == PHY_INTERFACE_MODE_XGMII)) { - priv->phydev = (struct phy_device *) + phydev = (struct phy_device *) malloc(sizeof(struct phy_device)); - memset(priv->phydev, 0, sizeof(struct phy_device)); + memset(phydev, 0, sizeof(struct phy_device)); + wriop_set_phy_dev(priv->dpmac_id, phydev); - priv->phydev->speed = SPEED_10000; - priv->phydev->link = 1; - priv->phydev->duplex = DUPLEX_FULL; + phydev->speed = SPEED_10000; + phydev->link = 1; + phydev->duplex = DUPLEX_FULL; } - if (!priv->phydev->link) { - printf("%s: No link.\n", priv->phydev->dev->name); + if (!phydev->link) { + printf("%s: No link.\n", phydev->dev->name); err = -1; goto err_dpmac_bind; } @@ -476,17 +480,17 @@ static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd) return err; } - dpmac_link_state.rate = priv->phydev->speed; + dpmac_link_state.rate = phydev->speed; - if (priv->phydev->autoneg == AUTONEG_DISABLE) + if (phydev->autoneg == AUTONEG_DISABLE) dpmac_link_state.options &= ~DPMAC_LINK_OPT_AUTONEG; else dpmac_link_state.options |= DPMAC_LINK_OPT_AUTONEG; - if (priv->phydev->duplex == DUPLEX_HALF) + if (phydev->duplex == DUPLEX_HALF) dpmac_link_state.options |= DPMAC_LINK_OPT_HALF_DUPLEX; - dpmac_link_state.up = priv->phydev->link; + dpmac_link_state.up = phydev->link; err = dpmac_set_link_state(dflt_mc_io, MC_CMD_NO_FLAGS, priv->dpmac_handle, &dpmac_link_state); @@ -530,7 +534,7 @@ static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd) goto err_qdid; } - return priv->phydev->link; + return phydev->link; err_qdid: err_get_queue: @@ -556,6 +560,7 @@ static void ldpaa_eth_stop(struct eth_device *net_dev) #ifdef CONFIG_PHYLIB struct mii_dev *bus = wriop_get_mdio(priv->dpmac_id); #endif + struct phy_device *phydev = NULL; if ((net_dev->state == ETH_STATE_PASSIVE) || (net_dev->state == ETH_STATE_INIT)) @@ -588,11 +593,12 @@ static void ldpaa_eth_stop(struct eth_device *net_dev) printf("dpni_disable() failed\n"); #ifdef CONFIG_PHYLIB - if (priv->phydev && bus != NULL) - phy_shutdown(priv->phydev); - else { - free(priv->phydev); - priv->phydev = NULL; + phydev = wriop_get_phy_dev(priv->dpmac_id); + if (phydev && bus) { + phy_shutdown(phydev); + } else { + free(phydev); + wriop_set_phy_dev(priv->dpmac_id, NULL); } #endif |