net: stmmac: dwmac-rk: Fix clk rate when provided by soc
authorHeiko Stübner <heiko@sntech.de>
Sun, 21 Jun 2015 19:52:52 +0000 (21:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 17:26:18 +0000 (19:26 +0200)
commit c48fa33c1fb2ccdb4bcc863a7b841f11efe0f8b0 upstream.

The first iteration of the dwmac-rk support did access an intermediate
clock directly below the pll selector. This was removed in a subsequent
revision, but the clock and one invocation remained. This results in
the driver trying to set the rate of a non-existent clock when the soc
and not some external source provides the phy clock for RMII phys.

So set the rate of the correct clock and remove the remaining now
completely unused definition.

Fixes: 436f5ae08f9d ("GMAC: add driver for Rockchip RK3288 SoCs integrated GMAC")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

index 6249a4ec08f05c3ddb7939ab4f5386fe75a8f551..573708123338f32a7f80c66a7836ae7ba19be724 100644 (file)
@@ -38,7 +38,6 @@ struct rk_priv_data {
        bool clock_input;
 
        struct clk *clk_mac;
-       struct clk *clk_mac_pll;
        struct clk *gmac_clkin;
        struct clk *mac_clk_rx;
        struct clk *mac_clk_tx;
@@ -208,7 +207,7 @@ static int gmac_clk_init(struct rk_priv_data *bsp_priv)
                dev_info(dev, "%s: clock input from PHY\n", __func__);
        } else {
                if (bsp_priv->phy_iface == PHY_INTERFACE_MODE_RMII)
-                       clk_set_rate(bsp_priv->clk_mac_pll, 50000000);
+                       clk_set_rate(bsp_priv->clk_mac, 50000000);
        }
 
        return 0;