> + > + /* MPIC.PSMCS = (clk [MHz] / (MDC frequency [MHz] * 2) - 1. > + * Calculating PSMCS value as MDC frequency = 2.5MHz. So, multiply > + * both the numerator and the denominator by 10. > + */ > + etha->psmcs = clk_get_rate(priv->clk) / 100000 / (25 * 2) - 1; > } > > static int rswitch_device_alloc(struct rswitch_private *priv, int index) > @@ -1900,6 +1907,10 @@ static int renesas_eth_sw_probe(struct platform_device *pdev) > return -ENOMEM; > spin_lock_init(&priv->lock); > > + priv->clk = devm_clk_get(&pdev->dev, NULL); > + if (IS_ERR(priv->clk)) > + return PTR_ERR(priv->clk); > + /** * clk_get_rate - obtain the current clock rate (in Hz) for a clock source. * This is only valid once the clock source has been enabled. * @clk: clock source */ unsigned long clk_get_rate(struct clk *clk); I don't see the clock being enabled anywhere. Also, is the clock documented in the device tree binding? Andrew