of: irq: use of_property_read_bool() for "interrupt-controller" prop
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sat, 8 Jul 2017 20:29:51 +0000 (23:29 +0300)
committerRob Herring <robh@kernel.org>
Fri, 21 Jul 2017 14:59:33 +0000 (09:59 -0500)
The "interrupt-controller" property is boolean, i.e. has no value.  The DT
interrupt parsing code predates of_property_read_bool(), so it uses either
of_get_property() or of_find_property() -- the former isn't quite correct
for the boolean props (but works somehow). Use the modern boolean prop API
instead.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/irq.c

index 9c4b32522bc211804407940c442263fce545321d..1f6ef2305daa878fe342d3ec3607dc02abd1756a 100644 (file)
@@ -169,8 +169,7 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
                /* Now check if cursor is an interrupt-controller and if it is
                 * then we are done
                 */
-               if (of_get_property(ipar, "interrupt-controller", NULL) !=
-                               NULL) {
+               if (of_property_read_bool(ipar, "interrupt-controller")) {
                        pr_debug(" -> got it !\n");
                        return 0;
                }
@@ -508,7 +507,7 @@ void __init of_irq_init(const struct of_device_id *matches)
        INIT_LIST_HEAD(&intc_parent_list);
 
        for_each_matching_node_and_match(np, matches, &match) {
-               if (!of_find_property(np, "interrupt-controller", NULL) ||
+               if (!of_property_read_bool(np, "interrupt-controller") ||
                                !of_device_is_available(np))
                        continue;