diff options
author | Joachim Eastwood <manabian@gmail.com> | 2016-11-04 20:54:08 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-07 06:00:15 +0300 |
commit | 06a6e829bdaf4df5616db2d47978e10e88f1dc32 (patch) | |
tree | 819f6f2eed51a941e0475d1095e0419eb885d9f7 /drivers | |
parent | 2517cfd4ca78359dfc2bebbb121207d712c9b319 (diff) | |
download | linux-06a6e829bdaf4df5616db2d47978e10e88f1dc32.tar.xz |
stmmac: dwmac-sti: move st, gmac_en parsing to sti_dwmac_parse_data
The sti_dwmac_init() function is called both from probe and resume.
Since DT properties doesn't change between suspend/resume cycles move
parsing of this parameter into sti_dwmac_parse_data() where it belongs.
Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Tested-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c index bd6db2252a96..269c7a55ab1d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c @@ -128,6 +128,7 @@ struct sti_dwmac { int clk_sel_reg; /* GMAC ext clk selection register */ struct device *dev; struct regmap *regmap; + bool gmac_en; u32 speed; void (*fix_retime_src)(void *priv, unsigned int speed); }; @@ -233,14 +234,12 @@ static int sti_dwmac_init(struct platform_device *pdev, void *priv) struct sti_dwmac *dwmac = priv; struct regmap *regmap = dwmac->regmap; int iface = dwmac->interface; - struct device *dev = dwmac->dev; - struct device_node *np = dev->of_node; u32 reg = dwmac->ctrl_reg; u32 val; clk_prepare_enable(dwmac->clk); - if (of_property_read_bool(np, "st,gmac_en")) + if (dwmac->gmac_en) regmap_update_bits(regmap, reg, EN_MASK, EN); regmap_update_bits(regmap, reg, MII_PHY_SEL_MASK, phy_intf_sels[iface]); @@ -281,6 +280,7 @@ static int sti_dwmac_parse_data(struct sti_dwmac *dwmac, dwmac->dev = dev; dwmac->interface = of_get_phy_mode(np); dwmac->regmap = regmap; + dwmac->gmac_en = of_property_read_bool(np, "st,gmac_en"); dwmac->ext_phyclk = of_property_read_bool(np, "st,ext-phyclk"); dwmac->tx_retime_src = TX_RETIME_SRC_NA; dwmac->speed = SPEED_100; |