diff options
author | Josh Cartwright <joshc@codeaurora.org> | 2014-02-11 11:24:02 -0500 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-02-11 14:24:29 -0500 |
commit | a8cacc0a45f7d81e6ff1cfe92d38372c0718df9b (patch) | |
tree | 2f146810574005df607d8957944dbb4d776ce119 | |
parent | fee04e7f0a6cc45e915b2df4bd3cf07af1a464ec (diff) |
ARM: mvebu: make use of of_find_matching_node_and_match
Instead of the of_find_matching_node()/of_match_node() pair, which requires two
iterations through the match table, make use of of_find_matching_node_and_match(),
which only iterates through the table once.
While we're here, mark the of_system_controller table const.
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/mach-mvebu/system-controller.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/arm/mach-mvebu/system-controller.c b/arch/arm/mach-mvebu/system-controller.c index a7fb89a5b5d9..e6e300afe836 100644 --- a/arch/arm/mach-mvebu/system-controller.c +++ b/arch/arm/mach-mvebu/system-controller.c | |||
@@ -54,7 +54,7 @@ static const struct mvebu_system_controller orion_system_controller = { | |||
54 | .system_soft_reset = 0x1, | 54 | .system_soft_reset = 0x1, |
55 | }; | 55 | }; |
56 | 56 | ||
57 | static struct of_device_id of_system_controller_table[] = { | 57 | static const struct of_device_id of_system_controller_table[] = { |
58 | { | 58 | { |
59 | .compatible = "marvell,orion-system-controller", | 59 | .compatible = "marvell,orion-system-controller", |
60 | .data = (void *) &orion_system_controller, | 60 | .data = (void *) &orion_system_controller, |
@@ -90,13 +90,12 @@ void mvebu_restart(enum reboot_mode mode, const char *cmd) | |||
90 | 90 | ||
91 | static int __init mvebu_system_controller_init(void) | 91 | static int __init mvebu_system_controller_init(void) |
92 | { | 92 | { |
93 | const struct of_device_id *match; | ||
93 | struct device_node *np; | 94 | struct device_node *np; |
94 | 95 | ||
95 | np = of_find_matching_node(NULL, of_system_controller_table); | 96 | np = of_find_matching_node_and_match(NULL, of_system_controller_table, |
97 | &match); | ||
96 | if (np) { | 98 | if (np) { |
97 | const struct of_device_id *match = | ||
98 | of_match_node(of_system_controller_table, np); | ||
99 | BUG_ON(!match); | ||
100 | system_controller_base = of_iomap(np, 0); | 99 | system_controller_base = of_iomap(np, 0); |
101 | mvebu_sc = (struct mvebu_system_controller *)match->data; | 100 | mvebu_sc = (struct mvebu_system_controller *)match->data; |
102 | of_node_put(np); | 101 | of_node_put(np); |