]> Pileus Git - ~andy/linux/blobdiff - drivers/clk/clk.c
clk: get matching entry under lock in of_clk_init()
[~andy/linux] / drivers / clk / clk.c
index 7c4376289865ee587f6ac3ea3d2b1866a6b10f52..2db08c01ef51d9de9b618282ba55134d97dfabe4 100644 (file)
@@ -2228,13 +2228,13 @@ EXPORT_SYMBOL_GPL(of_clk_get_parent_name);
  */
 void __init of_clk_init(const struct of_device_id *matches)
 {
+       const struct of_device_id *match;
        struct device_node *np;
 
        if (!matches)
                matches = __clk_of_table;
 
-       for_each_matching_node(np, matches) {
-               const struct of_device_id *match = of_match_node(matches, np);
+       for_each_matching_node_and_match(np, matches, &match) {
                of_clk_init_cb_t clk_init_cb = match->data;
                clk_init_cb(np);
        }