diff options
author | Grant Likely <grant.likely@linaro.org> | 2013-10-11 22:05:10 +0100 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2013-10-24 11:43:13 +0100 |
commit | 624cfca534f9b1ffb1326617b4e973a3d5ecff4a (patch) | |
tree | ff8d3861219a84bea05967bbf80ac726355445d4 | |
parent | 2361613206e66ce59cc0e08efa8d98ec15b84ed1 (diff) | |
download | talos-op-linux-624cfca534f9b1ffb1326617b4e973a3d5ecff4a.tar.gz talos-op-linux-624cfca534f9b1ffb1326617b4e973a3d5ecff4a.zip |
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: Grant Likely <grant.likely@linaro.org>
-rw-r--r-- | drivers/of/base.c | 9 | ||||
-rw-r--r-- | drivers/of/irq.c | 6 | ||||
-rw-r--r-- | include/linux/of.h | 1 |
3 files changed, 13 insertions, 3 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 3ae106d89791..021db96245e7 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1185,6 +1185,15 @@ int of_property_count_strings(struct device_node *np, const char *propname) } 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, const char *list_name, const char *cells_name, diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 0ed5ed4a5f9b..ddea945ec29e 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -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; int imaplen, match, i; - pr_debug("of_irq_parse_raw: par=%s,intspec=[0x%08x 0x%08x...],ointsize=%d\n", - of_node_full_name(out_irq->np), out_irq->args[0], out_irq->args[1], - out_irq->args_count); +#ifdef DEBUG + of_print_phandle_args("of_irq_parse_raw: ", out_irq); +#endif ipar = of_node_get(out_irq->np); diff --git a/include/linux/of.h b/include/linux/of.h index f95aee391e30..374e03536135 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -275,6 +275,7 @@ extern int of_n_size_cells(struct device_node *np); extern const struct of_device_id *of_match_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 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, const char *phandle_name, int index); |