Commit 988b2686 authored by Leonard Crestez's avatar Leonard Crestez Committed by Linus Torvalds

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: default avatarLeonard 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d1e9710b
...@@ -44,3 +44,26 @@ class LxClkSummary(gdb.Command): ...@@ -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()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment