All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pankaj Bansal <pankaj.bansal@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/6] driver: net: fsl-mc: remove unused strcture elements
Date: Mon, 30 Jul 2018 18:45:01 +0530	[thread overview]
Message-ID: <20180730131505.16872-3-pankaj.bansal@nxp.com> (raw)
In-Reply-To: <20180730131505.16872-1-pankaj.bansal@nxp.com>

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>
---

Notes:
    V2:
    - change (phydev && bus != NULL) to (phydev && bus)
    - after free phydev just pass NULL into wriop_set_phy_dev()

 drivers/net/ldpaa_eth/ldpaa_eth.c   | 56 +++++++++++++++------------
 drivers/net/ldpaa_eth/ldpaa_eth.h   |  1 -
 drivers/net/ldpaa_eth/ldpaa_wriop.c |  2 +
 include/fsl-mc/ldpaa_wriop.h        |  1 -
 4 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c
index 18bc05790a..4dd0f3913d 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);
+	phydev = wriop_get_phy_dev(priv->dpmac_id);
+	if (phydev && bus)
+		phy_shutdown(phydev);
 	else {
-		free(priv->phydev);
-		priv->phydev = NULL;
+		free(phydev);
+		wriop_set_phy_dev(priv->dpmac_id, NULL);
 	}
 #endif
 
diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.h b/drivers/net/ldpaa_eth/ldpaa_eth.h
index ee784a55ee..3f9154b5bb 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.h
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.h
@@ -127,7 +127,6 @@ struct ldpaa_eth_priv {
 	uint16_t tx_flow_id;
 
 	enum ldpaa_eth_type type;	/* 1G or 10G ethernet */
-	struct phy_device *phydev;
 };
 
 struct dprc_endpoint dpmac_endpoint;
diff --git a/drivers/net/ldpaa_eth/ldpaa_wriop.c b/drivers/net/ldpaa_eth/ldpaa_wriop.c
index 0731a795c8..afbb1ca91e 100644
--- a/drivers/net/ldpaa_eth/ldpaa_wriop.c
+++ b/drivers/net/ldpaa_eth/ldpaa_wriop.c
@@ -26,6 +26,7 @@ void wriop_init_dpmac(int sd, int dpmac_id, int lane_prtcl)
 	dpmac_info[dpmac_id].enabled = 0;
 	dpmac_info[dpmac_id].id = 0;
 	dpmac_info[dpmac_id].phy_addr = -1;
+	dpmac_info[dpmac_id].phydev = NULL;
 	dpmac_info[dpmac_id].enet_if = PHY_INTERFACE_MODE_NONE;
 
 	enet_if = wriop_dpmac_enet_if(dpmac_id, lane_prtcl);
@@ -42,6 +43,7 @@ void wriop_init_dpmac_enet_if(int dpmac_id, phy_interface_t enet_if)
 	dpmac_info[dpmac_id].id = dpmac_id;
 	dpmac_info[dpmac_id].phy_addr = -1;
 	dpmac_info[dpmac_id].enet_if = enet_if;
+	dpmac_info[dpmac_id].phydev = NULL;
 }
 
 
diff --git a/include/fsl-mc/ldpaa_wriop.h b/include/fsl-mc/ldpaa_wriop.h
index 07e5130264..8971c6c55b 100644
--- a/include/fsl-mc/ldpaa_wriop.h
+++ b/include/fsl-mc/ldpaa_wriop.h
@@ -41,7 +41,6 @@ struct wriop_dpmac_info {
 	u8 id;
 	u8 board_mux;
 	int phy_addr;
-	void *phy_regs;
 	phy_interface_t enet_if;
 	struct phy_device *phydev;
 	struct mii_dev *bus;
-- 
2.17.1

  parent reply	other threads:[~2018-07-30 13:15 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-13 14:40 [U-Boot] [PATCH 0/6] driver: net: fsl-mc: Add support of multiple phys for dpmac Pankaj Bansal
2018-07-13 14:40 ` [U-Boot] [PATCH 1/6] driver: net: fsl-mc: modify the label name Pankaj Bansal
2018-07-25 19:39   ` Joe Hershberger
2018-07-13 14:40 ` [U-Boot] [PATCH v3 2/6] driver: net: fsl-mc: remove unused strcture elements Pankaj Bansal
2018-07-25 20:03   ` Joe Hershberger
2018-07-13 14:40 ` [U-Boot] [PATCH 3/6] driver: net: fsl-mc: fix error handing in init_phy Pankaj Bansal
2018-07-25 20:04   ` Joe Hershberger
2018-07-13 14:40 ` [U-Boot] [PATCH 4/6] driver: net: fsl-mc: Modify the dpmac link detection method Pankaj Bansal
2018-07-25 20:13   ` Joe Hershberger
2018-07-13 14:40 ` [U-Boot] [PATCH 5/6] driver: net: fsl-mc: initialize dpmac irrespective of phy Pankaj Bansal
2018-07-25 20:14   ` Joe Hershberger
2018-07-13 14:40 ` [U-Boot] [PATCH 6/6] driver: net: fsl-mc: Add support of multiple phys for dpmac Pankaj Bansal
2018-07-25 20:52   ` Joe Hershberger
2018-07-19  3:35 ` [U-Boot] [PATCH 0/6] " Prabhakar Kushwaha
2018-07-25  3:03   ` Pankaj Bansal
2018-07-30 13:14 ` [U-Boot] [PATCH v2 " Pankaj Bansal
2018-07-30 13:15   ` [U-Boot] [PATCH v2 1/6] driver: net: fsl-mc: modify the label name Pankaj Bansal
2018-07-30 20:20     ` Joe Hershberger
2018-07-30 13:15   ` Pankaj Bansal [this message]
2018-07-30 20:19     ` [U-Boot] [PATCH v2 2/6] driver: net: fsl-mc: remove unused strcture elements Joe Hershberger
2018-07-30 13:15   ` [U-Boot] [PATCH v2 3/6] driver: net: fsl-mc: fix error handing in init_phy Pankaj Bansal
2018-07-30 20:26     ` Joe Hershberger
2018-07-30 13:15   ` [U-Boot] [PATCH v2 4/6] driver: net: fsl-mc: Modify the dpmac link detection method Pankaj Bansal
2018-07-30 20:35     ` Joe Hershberger
2018-07-30 13:15   ` [U-Boot] [PATCH v2 5/6] driver: net: fsl-mc: initialize dpmac irrespective of phy Pankaj Bansal
2018-07-30 20:36     ` Joe Hershberger
2018-07-30 13:15   ` [U-Boot] [PATCH v2 6/6] driver: net: fsl-mc: Add support of multiple phys for dpmac Pankaj Bansal
2018-07-30  8:05     ` Pankaj Bansal
2018-07-30 21:43     ` Joe Hershberger
2018-10-09 21:32     ` Joe Hershberger
2018-10-10  2:59       ` Pankaj Bansal
2018-10-10  8:27   ` [U-Boot] [PATCH v3 0/6] " Pankaj Bansal
2018-10-10  8:27     ` [U-Boot] [PATCH v3 1/6] driver: net: fsl-mc: modify the label name Pankaj Bansal
2018-10-10  8:27     ` [U-Boot] [PATCH v3 2/6] driver: net: fsl-mc: remove unused strcture elements Pankaj Bansal
2018-10-10  3:59       ` Joe Hershberger
2018-10-10  5:10         ` Pankaj Bansal
2018-10-10 18:35           ` Joe Hershberger
2018-10-10  8:28     ` [U-Boot] [PATCH v3 3/6] driver: net: fsl-mc: fix error handing in init_phy Pankaj Bansal
2018-10-10  8:28     ` [U-Boot] [PATCH v3 4/6] driver: net: fsl-mc: Modify the dpmac link detection method Pankaj Bansal
2018-10-10  8:28     ` [U-Boot] [PATCH v3 5/6] driver: net: fsl-mc: initialize dpmac irrespective of phy Pankaj Bansal
2018-10-10  8:28     ` [U-Boot] [PATCH v3 6/6] driver: net: fsl-mc: Add support of multiple phys for dpmac Pankaj Bansal
2018-10-10  8:38   ` [U-Boot] [PATCH v3 0/6] " Pankaj Bansal
2018-10-10  8:38     ` [U-Boot] [PATCH v3 1/6] driver: net: fsl-mc: modify the label name Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger
2018-10-10  8:38     ` [U-Boot] [PATCH v3 2/6] driver: net: fsl-mc: remove unused strcture elements Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger
2018-10-10  8:38     ` [U-Boot] [PATCH v3 3/6] driver: net: fsl-mc: fix error handing in init_phy Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger
2018-10-10  8:38     ` [U-Boot] [PATCH v3 4/6] driver: net: fsl-mc: Modify the dpmac link detection method Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger
2018-10-10  8:38     ` [U-Boot] [PATCH v3 5/6] driver: net: fsl-mc: initialize dpmac irrespective of phy Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger
2018-10-10  8:38     ` [U-Boot] [PATCH v3 6/6] driver: net: fsl-mc: Add support of multiple phys for dpmac Pankaj Bansal
2018-10-22 19:28       ` [U-Boot] " Joe Hershberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180730131505.16872-3-pankaj.bansal@nxp.com \
    --to=pankaj.bansal@nxp.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.