This converts the test for the obsolete "interrupt-controller" property in /chosen to the new framework. That was the only thing left in the old-style check_chosen() function, so that function is removed, too.
Signed-off-by: David Gibson <[EMAIL PROTECTED]> Index: dtc/checks.c =================================================================== --- dtc.orig/checks.c 2007-12-07 13:46:11.000000000 +1100 +++ dtc/checks.c 2007-12-07 13:53:24.000000000 +1100 @@ -476,6 +476,23 @@ static void check_avoid_default_addr_siz } NODE_CHECK(avoid_default_addr_size, NULL, WARN, &addr_size_cells); +static void check_obsolete_chosen_interrupt_controller(struct check *c, + struct node *dt) +{ + struct node *chosen; + struct property *prop; + + chosen = get_node_by_path(dt, "/chosen"); + if (!chosen) + return; + + prop = get_property(chosen, "interrupt-controller"); + if (prop) + FAIL(c, "/chosen has obsolete \"interrupt-controller\" " + "property"); +} +TREE_CHECK(obsolete_chosen_interrupt_controller, NULL, WARN); + static struct check *check_table[] = { &duplicate_node_names, &duplicate_property_names, &name_is_string, &name_properties, @@ -488,6 +505,7 @@ static struct check *check_table[] = { &addr_size_cells, ®_format, &ranges_format, &avoid_default_addr_size, + &obsolete_chosen_interrupt_controller, }; int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys); @@ -715,27 +733,6 @@ static int check_memory(struct node *roo return ok; } -static int check_chosen(struct node *root) -{ - struct node *chosen; - struct property *prop; - int ok = 1; - - chosen = get_subnode(root, "chosen"); - if (!chosen) - return ok; - - /* give warning for obsolete interrupt-controller property */ - do { - if ((prop = get_property(chosen, "interrupt-controller")) != NULL) { - WARNMSG("%s has obsolete \"%s\" property\n", - chosen->fullpath, "interrupt-controller"); - } - } while (0); - - return ok; -} - int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys) { int ok = 1; @@ -743,7 +740,6 @@ int check_semantics(struct node *dt, int ok = ok && check_root(dt); ok = ok && check_cpus(dt, outversion, boot_cpuid_phys); ok = ok && check_memory(dt); - ok = ok && check_chosen(dt); if (! ok) return 0; Index: dtc/tests/obsolete-chosen-interrupt-controller.dts =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ dtc/tests/obsolete-chosen-interrupt-controller.dts 2007-12-07 13:51:34.000000000 +1100 @@ -0,0 +1,13 @@ +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + PIC: [EMAIL PROTECTED] { + reg = <0x0 0x10>; + interrupt-controller; + }; + chosen { + interrupt-controller = <&PIC>; + }; +}; Index: dtc/tests/run_tests.sh =================================================================== --- dtc.orig/tests/run_tests.sh 2007-12-07 13:51:44.000000000 +1100 +++ dtc/tests/run_tests.sh 2007-12-07 13:52:06.000000000 +1100 @@ -173,6 +173,7 @@ dtc_tests () { run_test dtc-checkfails.sh reg_format ranges_format -- -I dts -O dtb bad-reg-ranges.dts run_test dtc-checkfails.sh ranges_format -- -I dts -O dtb bad-empty-ranges.dts run_test dtc-checkfails.sh avoid_default_addr_size -- -I dts -O dtb default-addr-size.dts + run_test dtc-checkfails.sh obsolete_chosen_interrupt_controller -- -I dts -O dtb obsolete-chosen-interrupt-controller.dts } while getopts "vt:m" ARG ; do -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev