[ARM] omap: i2c: remove armxor_ck
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 22 Jan 2009 19:31:46 +0000 (19:31 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 8 Feb 2009 17:50:20 +0000 (17:50 +0000)
On OMAP1, the I2C functional clock (fck) is the armxor_ck, so there's
no need to get "armxor_ck" separately.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/i2c/busses/i2c-omap.c

index 19f86e1eefa153bea9440003e3fa7917bc13a9c7..96814fb67155cc77e6cdb2e611673f4bd7e1357e 100644 (file)
@@ -312,15 +312,14 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
        omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
 
        if (cpu_class_is_omap1()) {
-               struct clk *armxor_ck;
-
-               armxor_ck = clk_get(NULL, "armxor_ck");
-               if (IS_ERR(armxor_ck))
-                       dev_warn(dev->dev, "Could not get armxor_ck\n");
-               else {
-                       fclk_rate = clk_get_rate(armxor_ck);
-                       clk_put(armxor_ck);
-               }
+               /*
+                * The I2C functional clock is the armxor_ck, so there's
+                * no need to get "armxor_ck" separately.  Now, if OMAP2420
+                * always returns 12MHz for the functional clock, we can
+                * do this bit unconditionally.
+                */
+               fclk_rate = clk_get_rate(dev->fclk);
+
                /* TRM for 5912 says the I2C clock must be prescaled to be
                 * between 7 - 12 MHz. The XOR input clock is typically
                 * 12, 13 or 19.2 MHz. So we should have code that produces: