]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
clk: Simplify debugfs printing and add a newline
authorStephen Boyd <sboyd@kernel.org>
Tue, 25 Jun 2019 03:01:55 +0000 (20:01 -0700)
committerStephen Boyd <sboyd@kernel.org>
Tue, 25 Jun 2019 18:56:04 +0000 (11:56 -0700)
The possible parent printing function duplicates a bunch of if
conditions. Pull that into another function so we can print an extra
character at the end, either a space or a newline. This way we can add
the required newline that got lost here and also shorten the code.

Fixes: 2d156b78ce8f ("clk: Fix debugfs clk_possible_parents for clks without parent string names")
Cc: Chen-Yu Tsai <wens@csie.org>
Tested-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk.c

index 093161ca4dccc211dcc5f105c1b943a5f466787f..09d8e84a1968a8809068000792bf5098ce33f2fd 100644 (file)
@@ -2997,11 +2997,10 @@ static int clk_flags_show(struct seq_file *s, void *data)
 }
 DEFINE_SHOW_ATTRIBUTE(clk_flags);
 
-static int possible_parents_show(struct seq_file *s, void *data)
+static void possible_parent_show(struct seq_file *s, struct clk_core *core,
+                                unsigned int i, char terminator)
 {
-       struct clk_core *core = s->private;
        struct clk_core *parent;
-       int i;
 
        /*
         * Go through the following options to fetch a parent's name.
@@ -3015,22 +3014,6 @@ static int possible_parents_show(struct seq_file *s, void *data)
         * specified directly via a struct clk_hw pointer, but it isn't
         * registered (yet).
         */
-       for (i = 0; i < core->num_parents - 1; i++) {
-               parent = clk_core_get_parent_by_index(core, i);
-               if (parent)
-                       seq_printf(s, "%s ", parent->name);
-               else if (core->parents[i].name)
-                       seq_printf(s, "%s ", core->parents[i].name);
-               else if (core->parents[i].fw_name)
-                       seq_printf(s, "<%s>(fw) ", core->parents[i].fw_name);
-               else if (core->parents[i].index >= 0)
-                       seq_printf(s, "%s ",
-                                  of_clk_get_parent_name(core->of_node,
-                                                         core->parents[i].index));
-               else
-                       seq_puts(s, "(missing) ");
-       }
-
        parent = clk_core_get_parent_by_index(core, i);
        if (parent)
                seq_printf(s, "%s", parent->name);
@@ -3045,6 +3028,19 @@ static int possible_parents_show(struct seq_file *s, void *data)
        else
                seq_puts(s, "(missing)");
 
+       seq_putc(s, terminator);
+}
+
+static int possible_parents_show(struct seq_file *s, void *data)
+{
+       struct clk_core *core = s->private;
+       int i;
+
+       for (i = 0; i < core->num_parents - 1; i++)
+               possible_parent_show(s, core, i, ' ');
+
+       possible_parent_show(s, core, i, '\n');
+
        return 0;
 }
 DEFINE_SHOW_ATTRIBUTE(possible_parents);