From 11f6c2307caee89370d7752eb6f404f1ed73faaf Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 24 Jun 2019 20:01:55 -0700 Subject: [PATCH] clk: Simplify debugfs printing and add a newline 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 Tested-by: Chen-Yu Tsai Reviewed-by: Chen-Yu Tsai Signed-off-by: Stephen Boyd --- drivers/clk/clk.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 093161ca4dcc..09d8e84a1968 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -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);