Commit 624cfca5 authored by Grant Likely's avatar Grant Likely

of: Add helper for printing an of_phandle_args structure

It is sometimes useful for debug to get the contents of an
of_phandle_args structure out into the kernel log.
Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
parent 23616132
...@@ -1185,6 +1185,15 @@ int of_property_count_strings(struct device_node *np, const char *propname) ...@@ -1185,6 +1185,15 @@ int of_property_count_strings(struct device_node *np, const char *propname)
} }
EXPORT_SYMBOL_GPL(of_property_count_strings); EXPORT_SYMBOL_GPL(of_property_count_strings);
void of_print_phandle_args(const char *msg, const struct of_phandle_args *args)
{
int i;
printk("%s %s", msg, of_node_full_name(args->np));
for (i = 0; i < args->args_count; i++)
printk(i ? ",%08x" : ":%08x", args->args[i]);
printk("\n");
}
static int __of_parse_phandle_with_args(const struct device_node *np, static int __of_parse_phandle_with_args(const struct device_node *np,
const char *list_name, const char *list_name,
const char *cells_name, const char *cells_name,
......
...@@ -101,9 +101,9 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) ...@@ -101,9 +101,9 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
u32 intsize = 1, addrsize, newintsize = 0, newaddrsize = 0; u32 intsize = 1, addrsize, newintsize = 0, newaddrsize = 0;
int imaplen, match, i; int imaplen, match, i;
pr_debug("of_irq_parse_raw: par=%s,intspec=[0x%08x 0x%08x...],ointsize=%d\n", #ifdef DEBUG
of_node_full_name(out_irq->np), out_irq->args[0], out_irq->args[1], of_print_phandle_args("of_irq_parse_raw: ", out_irq);
out_irq->args_count); #endif
ipar = of_node_get(out_irq->np); ipar = of_node_get(out_irq->np);
......
...@@ -275,6 +275,7 @@ extern int of_n_size_cells(struct device_node *np); ...@@ -275,6 +275,7 @@ extern int of_n_size_cells(struct device_node *np);
extern const struct of_device_id *of_match_node( extern const struct of_device_id *of_match_node(
const struct of_device_id *matches, const struct device_node *node); const struct of_device_id *matches, const struct device_node *node);
extern int of_modalias_node(struct device_node *node, char *modalias, int len); extern int of_modalias_node(struct device_node *node, char *modalias, int len);
extern void of_print_phandle_args(const char *msg, const struct of_phandle_args *args);
extern struct device_node *of_parse_phandle(const struct device_node *np, extern struct device_node *of_parse_phandle(const struct device_node *np,
const char *phandle_name, const char *phandle_name,
int index); int index);
......
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