Commit 11f6c230 authored by Stephen Boyd's avatar Stephen Boyd
Browse files

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: 2d156b78 ("clk: Fix debugfs clk_possible_parents for clks without parent string names")
Cc: Chen-Yu Tsai <wens@csie.org>
Tested-by: default avatarChen-Yu Tsai <wens@csie.org>
Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent f925a054
Loading
Loading
Loading
Loading
+15 −19
Original line number Diff line number Diff line
@@ -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,7 +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);
@@ -3029,21 +3027,19 @@ static int possible_parents_show(struct seq_file *s, void *data)
						  core->parents[i].index));
	else
		seq_puts(s, "(missing)");

	seq_putc(s, terminator);
}

	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)");
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;
}