i2c: rcar: use per-device clock
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Thu, 12 Sep 2013 12:36:48 +0000 (14:36 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 30 Sep 2013 04:02:32 +0000 (06:02 +0200)
Using the same clock for all device instances is non-portable and obtaining
clock references by an ID without using a device pointer is discouraged.
This is also not needed, because on platforms, where this driver is used,
suitable clocks are available for the I2C controllers, that are children of
the peripheral clock and just pass its rate 1-to-1 to controllers. This
patch switches the driver to obtain references to correct clocks.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-rcar.c

index 98276eb5f6e7d5928ee6789ab6fd6f81a7e5f111..8603f5e805aa9741b142141f37575faeb1a3007e 100644 (file)
@@ -227,7 +227,7 @@ static int rcar_i2c_clock_calculate(struct rcar_i2c_priv *priv,
                                    u32 bus_speed,
                                    struct device *dev)
 {
-       struct clk *clkp = clk_get(NULL, "peripheral_clk");
+       struct clk *clkp = clk_get(dev, NULL);
        u32 scgd, cdf;
        u32 round, ick;
        u32 scl;
This page took 0.025206 seconds and 5 git commands to generate.