Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ce33563 authored by Juha Yrjola's avatar Juha Yrjola Committed by Russell King
Browse files

ARM: OMAP: Add function to print clock usecounts



Useful for debugging power management code.

Signed-off-by: default avatarJuha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 3151369d
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -33,6 +33,41 @@ static DEFINE_SPINLOCK(clockfw_lock);

static struct clk_functions *arch_clock;

#ifdef CONFIG_PM_DEBUG

static void print_parents(struct clk *clk)
{
	struct clk *p;
	int printed = 0;

	list_for_each_entry(p, &clocks, node) {
		if (p->parent == clk && p->usecount) {
			if (!clk->usecount && !printed) {
				printk("MISMATCH: %s\n", clk->name);
				printed = 1;
			}
			printk("\t%-15s\n", p->name);
		}
	}
}

void clk_print_usecounts(void)
{
	unsigned long flags;
	struct clk *p;

	spin_lock_irqsave(&clockfw_lock, flags);
	list_for_each_entry(p, &clocks, node) {
		if (p->usecount)
			printk("%-15s: %d\n", p->name, p->usecount);
		print_parents(p);

	}
	spin_unlock_irqrestore(&clockfw_lock, flags);
}

#endif

/*-------------------------------------------------------------------------
 * Standard clock functions defined in include/linux/clk.h
 *-------------------------------------------------------------------------*/