diff options
Diffstat (limited to 'arch/arm/mach-mvebu/system-controller.c')
-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); |