ARM: SAMSUNG: Fix clksrc-clk's checks for bad register settings
authorBen Dooks <ben-linux@fluff.org>
Mon, 18 Jan 2010 06:37:25 +0000 (15:37 +0900)
committerBen Dooks <ben-linux@fluff.org>
Mon, 18 Jan 2010 06:37:25 +0000 (15:37 +0900)
The WARN_ON() was only checking the first clock in the array, instead of
being executed for each clksrc clock being registered.

Since this is an array of clocks, WARN_ON() does not provide a lot of
useful information about the problem, so change to using printk(KERN_ERR)
to report the problem to the console.

As a note, we still try and register the clock even if these problems are
present just in case and to avoid changing the behaviour of the registration
process.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/plat-samsung/clock-clksrc.c

index 98c6b8859f49334f37231b05452d3b3d30de7b1d..656c70e0400a0b76b6421219a4fe8aa49aaef250 100644 (file)
@@ -177,9 +177,11 @@ void __init s3c_register_clksrc(struct clksrc_clk *clksrc, int size)
 {
        int ret;
 
-       WARN_ON(!clksrc->reg_div.reg && !clksrc->reg_src.reg);
-
        for (; size > 0; size--, clksrc++) {
+               if (!clksrc->reg_div.reg && !clksrc->reg_src.reg)
+                       printk(KERN_ERR "%s: clock %s has no registers set\n",
+                              __func__, clksrc->clk.name);
+
                /* fill in the default functions */
 
                if (!clksrc->clk.ops) {