scripts/gdb: add $lx_clk_core_lookup function
Finding an individual clk_core requires walking the tree which can be quite complicated so add a helper for easy access. (gdb) print *(struct clk_scu*)$lx_clk_core_lookup("uart0_clk")->hw Link: http://lkml.kernel.org/r/Message-ID: Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Cc: Jan Kiszka <jan.kiszka@siemens.com> Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Kieran Bingham <kbingham@kernel.org> Cc: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d1e9710b63
commit
988b268615
|
@ -44,3 +44,26 @@ class LxClkSummary(gdb.Command):
|
||||||
|
|
||||||
|
|
||||||
LxClkSummary()
|
LxClkSummary()
|
||||||
|
|
||||||
|
|
||||||
|
class LxClkCoreLookup(gdb.Function):
|
||||||
|
"""Find struct clk_core by name"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(LxClkCoreLookup, self).__init__("lx_clk_core_lookup")
|
||||||
|
|
||||||
|
def lookup_hlist(self, hlist_head, name):
|
||||||
|
for child in clk_core_for_each_child(hlist_head):
|
||||||
|
if child['name'].string() == name:
|
||||||
|
return child
|
||||||
|
result = self.lookup_hlist(child['children'], name)
|
||||||
|
if result:
|
||||||
|
return result
|
||||||
|
|
||||||
|
def invoke(self, name):
|
||||||
|
name = name.string()
|
||||||
|
return (self.lookup_hlist(gdb.parse_and_eval("clk_root_list"), name) or
|
||||||
|
self.lookup_hlist(gdb.parse_and_eval("clk_orphan_list"), name))
|
||||||
|
|
||||||
|
|
||||||
|
LxClkCoreLookup()
|
||||||
|
|
Loading…
Reference in New Issue