Loading arch/arm/plat-omap/clock.c +35 −0 Original line number Diff line number Diff line Loading @@ -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 *-------------------------------------------------------------------------*/ Loading Loading
arch/arm/plat-omap/clock.c +35 −0 Original line number Diff line number Diff line Loading @@ -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 *-------------------------------------------------------------------------*/ Loading