net: stmmac: Fix clock en-/disable calls

clk_{un}prepare is mandatory for platforms using common clock framework.
Since these drivers are used by SPEAr platform, which supports common
clock framework, add clk_{un}prepare() support for them. Otherwise
the clocks are not correctly en-/disabled and ethernet support doesn't
work.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Stefan Roese 2012-06-07 23:21:05 +00:00 committed by David S. Miller
parent 3f16da51b0
commit 883ffd6e64

View File

@ -109,7 +109,7 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
static inline int stmmac_clk_enable(struct stmmac_priv *priv) static inline int stmmac_clk_enable(struct stmmac_priv *priv)
{ {
if (!IS_ERR(priv->stmmac_clk)) if (!IS_ERR(priv->stmmac_clk))
return clk_enable(priv->stmmac_clk); return clk_prepare_enable(priv->stmmac_clk);
return 0; return 0;
} }
@ -119,7 +119,7 @@ static inline void stmmac_clk_disable(struct stmmac_priv *priv)
if (IS_ERR(priv->stmmac_clk)) if (IS_ERR(priv->stmmac_clk))
return; return;
clk_disable(priv->stmmac_clk); clk_disable_unprepare(priv->stmmac_clk);
} }
static inline int stmmac_clk_get(struct stmmac_priv *priv) static inline int stmmac_clk_get(struct stmmac_priv *priv)
{ {