netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joachim Eastwood <manabian@gmail.com>
To: davem@davemloft.net
Cc: Joachim Eastwood <manabian@gmail.com>,
	peppe.cavallaro@st.com, alexandre.torgue@st.com,
	netdev@vger.kernel.org
Subject: [net-next PATCH 5/7] stmmac: dwmac-sti: move clk_prepare_enable out of init and add error handling
Date: Sun, 30 Oct 2016 21:05:05 +0100	[thread overview]
Message-ID: <20161030200507.851-6-manabian@gmail.com> (raw)
In-Reply-To: <20161030200507.851-1-manabian@gmail.com>

Add clock error handling to probe and in the process move clock enabling
out of sti_dwmac_init() to make this easier.

Signed-off-by: Joachim Eastwood <manabian@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
index e814b68..aa75a27 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
@@ -237,8 +237,6 @@ static int sti_dwmac_init(struct platform_device *pdev, void *priv)
 	u32 reg = dwmac->ctrl_reg;
 	u32 val;
 
-	clk_prepare_enable(dwmac->clk);
-
 	if (dwmac->gmac_en)
 		regmap_update_bits(regmap, reg, EN_MASK, EN);
 
@@ -348,11 +346,23 @@ static int sti_dwmac_probe(struct platform_device *pdev)
 	plat_dat->bsp_priv = dwmac;
 	plat_dat->fix_mac_speed = data->fix_retime_src;
 
-	ret = sti_dwmac_init(pdev, plat_dat->bsp_priv);
+	ret = clk_prepare_enable(dwmac->clk);
 	if (ret)
 		return ret;
 
-	return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
+	ret = sti_dwmac_init(pdev, plat_dat->bsp_priv);
+	if (ret)
+		goto disable_clk;
+
+	ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
+	if (ret)
+		goto disable_clk;
+
+	return 0;
+
+disable_clk:
+	clk_disable_unprepare(dwmac->clk);
+	return ret;
 }
 
 static int sti_dwmac_remove(struct platform_device *pdev)
@@ -381,6 +391,7 @@ static int sti_dwmac_resume(struct device *dev)
 	struct sti_dwmac *dwmac = get_stmmac_bsp_priv(dev);
 	struct platform_device *pdev = to_platform_device(dev);
 
+	clk_prepare_enable(dwmac->clk);
 	sti_dwmac_init(pdev, dwmac);
 
 	return stmmac_resume(dev);
-- 
2.10.1

  parent reply	other threads:[~2016-10-30 20:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-30 20:05 [net-next PATCH 0/7] stmmac: dwmac-sti refactor+cleanup Joachim Eastwood
2016-10-30 20:05 ` [net-next PATCH 1/7] stmmac: dwmac-sti: remove useless of_node check Joachim Eastwood
2016-10-30 20:05 ` [net-next PATCH 2/7] stmmac: dwmac-sti: remove clk NULL checks Joachim Eastwood
2016-10-30 20:05 ` [net-next PATCH 3/7] stmmac: dwmac-sti: add PM ops and resume function Joachim Eastwood
2016-11-01 17:19   ` Joachim Eastwood
2016-10-30 20:05 ` [net-next PATCH 4/7] stmmac: dwmac-sti: move st,gmac_en parsing to sti_dwmac_parse_data Joachim Eastwood
2016-10-30 20:05 ` Joachim Eastwood [this message]
2016-10-30 20:05 ` [net-next PATCH 6/7] stmmac: dwmac-sti: clean up and rename sti_dwmac_init Joachim Eastwood
2016-10-30 20:05 ` [net-next PATCH 7/7] stmmac: dwmac-sti: remove unused priv dev member Joachim Eastwood
2016-10-31 19:47 ` [net-next PATCH 0/7] stmmac: dwmac-sti refactor+cleanup David Miller
2016-11-01 15:56   ` David Miller
2016-11-01 17:00     ` Joachim Eastwood
2016-11-02  6:39 ` Giuseppe CAVALLARO
2016-11-04 13:49 ` Giuseppe CAVALLARO
2016-11-04 16:19   ` Joachim Eastwood

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=20161030200507.851-6-manabian@gmail.com \
    --to=manabian@gmail.com \
    --cc=alexandre.torgue@st.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).