diff options
author | Grant Likely <grant.likely@linaro.org> | 2014-11-14 09:34:55 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2014-11-24 17:25:00 -0500 |
commit | 00aa37206e1a54dae61a0dba96bf2ee0938b99d7 (patch) | |
tree | 53a4c7688b25731e6d5198c7e5c9e52b0b4cd7b3 /drivers/of | |
parent | f6892d193fb9d694a1b50550649ba6e82f8abec1 (diff) |
of/reconfig: Add debug output for OF_RECONFIG notifiers
Add some additional debug output to cover OF_RECONFIG notifier activity.
At the same time, refactor the changeset debug output to use the same
strings as the notifier debug output.
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/dynamic.c | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c index 6659c39ab3aa..cc106529dca8 100644 --- a/drivers/of/dynamic.c +++ b/drivers/of/dynamic.c | |||
@@ -77,10 +77,38 @@ int of_reconfig_notifier_unregister(struct notifier_block *nb) | |||
77 | } | 77 | } |
78 | EXPORT_SYMBOL_GPL(of_reconfig_notifier_unregister); | 78 | EXPORT_SYMBOL_GPL(of_reconfig_notifier_unregister); |
79 | 79 | ||
80 | #ifdef DEBUG | ||
81 | const char *action_names[] = { | ||
82 | [OF_RECONFIG_ATTACH_NODE] = "ATTACH_NODE", | ||
83 | [OF_RECONFIG_DETACH_NODE] = "DETACH_NODE", | ||
84 | [OF_RECONFIG_ADD_PROPERTY] = "ADD_PROPERTY", | ||
85 | [OF_RECONFIG_REMOVE_PROPERTY] = "REMOVE_PROPERTY", | ||
86 | [OF_RECONFIG_UPDATE_PROPERTY] = "UPDATE_PROPERTY", | ||
87 | }; | ||
88 | #endif | ||
89 | |||
80 | int of_reconfig_notify(unsigned long action, void *p) | 90 | int of_reconfig_notify(unsigned long action, void *p) |
81 | { | 91 | { |
82 | int rc; | 92 | int rc; |
93 | #ifdef DEBUG | ||
94 | struct device_node *dn = p; | ||
95 | struct of_prop_reconfig *pr = p; | ||
96 | |||
97 | switch (action) { | ||
98 | case OF_RECONFIG_ATTACH_NODE: | ||
99 | case OF_RECONFIG_DETACH_NODE: | ||
100 | pr_debug("of/notify %-15s %s\n", action_names[action], | ||
101 | dn->full_name); | ||
102 | break; | ||
103 | case OF_RECONFIG_ADD_PROPERTY: | ||
104 | case OF_RECONFIG_REMOVE_PROPERTY: | ||
105 | case OF_RECONFIG_UPDATE_PROPERTY: | ||
106 | pr_debug("of/notify %-15s %s:%s\n", action_names[action], | ||
107 | pr->dn->full_name, pr->prop->name); | ||
108 | break; | ||
83 | 109 | ||
110 | } | ||
111 | #endif | ||
84 | rc = blocking_notifier_call_chain(&of_reconfig_chain, action, p); | 112 | rc = blocking_notifier_call_chain(&of_reconfig_chain, action, p); |
85 | return notifier_to_errno(rc); | 113 | return notifier_to_errno(rc); |
86 | } | 114 | } |
@@ -431,27 +459,15 @@ static void __of_changeset_entry_dump(struct of_changeset_entry *ce) | |||
431 | { | 459 | { |
432 | switch (ce->action) { | 460 | switch (ce->action) { |
433 | case OF_RECONFIG_ADD_PROPERTY: | 461 | case OF_RECONFIG_ADD_PROPERTY: |
434 | pr_debug("%p: %s %s/%s\n", | ||
435 | ce, "ADD_PROPERTY ", ce->np->full_name, | ||
436 | ce->prop->name); | ||
437 | break; | ||
438 | case OF_RECONFIG_REMOVE_PROPERTY: | 462 | case OF_RECONFIG_REMOVE_PROPERTY: |
439 | pr_debug("%p: %s %s/%s\n", | ||
440 | ce, "REMOVE_PROPERTY", ce->np->full_name, | ||
441 | ce->prop->name); | ||
442 | break; | ||
443 | case OF_RECONFIG_UPDATE_PROPERTY: | 463 | case OF_RECONFIG_UPDATE_PROPERTY: |
444 | pr_debug("%p: %s %s/%s\n", | 464 | pr_debug("of/cset<%p> %-15s %s/%s\n", ce, action_names[ce->action], |
445 | ce, "UPDATE_PROPERTY", ce->np->full_name, | 465 | ce->np->full_name, ce->prop->name); |
446 | ce->prop->name); | ||
447 | break; | 466 | break; |
448 | case OF_RECONFIG_ATTACH_NODE: | 467 | case OF_RECONFIG_ATTACH_NODE: |
449 | pr_debug("%p: %s %s\n", | ||
450 | ce, "ATTACH_NODE ", ce->np->full_name); | ||
451 | break; | ||
452 | case OF_RECONFIG_DETACH_NODE: | 468 | case OF_RECONFIG_DETACH_NODE: |
453 | pr_debug("%p: %s %s\n", | 469 | pr_debug("of/cset<%p> %-15s %s\n", ce, action_names[ce->action], |
454 | ce, "DETACH_NODE ", ce->np->full_name); | 470 | ce->np->full_name); |
455 | break; | 471 | break; |
456 | } | 472 | } |
457 | } | 473 | } |