ARM: SAMSUNG: call clk_get_rate for debugfs rate files
authorColin Cross <ccross@android.com>
Tue, 23 Oct 2012 10:19:22 +0000 (19:19 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 23 Oct 2012 10:19:22 +0000 (19:19 +0900)
c->rate is rarely set, call clk_get_rate on the clock to print
the value in /d/clock/.../rate.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/plat-samsung/clock.c

index 36c1e67423a2418837647cf678ec47f00c81a221..47c9fad43f00124ce8e78e3f04b141f716034cd6 100644 (file)
@@ -447,6 +447,14 @@ static const struct file_operations clock_tree_fops = {
        .release        = single_release,
 };
 
+static int clock_rate_show(void *data, u64 *val)
+{
+       struct clk *c = data;
+       *val = clk_get_rate(c);
+       return 0;
+}
+DEFINE_SIMPLE_ATTRIBUTE(clock_rate_fops, clock_rate_show, NULL, "%llu\n");
+
 static int clk_debugfs_register_one(struct clk *c)
 {
        int err;
@@ -469,7 +477,7 @@ static int clk_debugfs_register_one(struct clk *c)
                goto err_out;
        }
 
-       d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate);
+       d = debugfs_create_file("rate", S_IRUGO, c->dent, c, &clock_rate_fops);
        if (!d) {
                err = -ENOMEM;
                goto err_out;