dtc: Convert check for obsolete /chosen property
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 <david@gibson.dropbear.id.au>main
parent
7e089d9473
commit
e4ffc1443d
40
checks.c
40
checks.c
|
@ -476,6 +476,23 @@ static void check_avoid_default_addr_size(struct check *c, struct node *dt,
|
|||
}
|
||||
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 *root)
|
|||
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 outversion, int boot_cpuid_phys)
|
|||
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;
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
PIC: pic@0 {
|
||||
reg = <0x0 0x10>;
|
||||
interrupt-controller;
|
||||
};
|
||||
chosen {
|
||||
interrupt-controller = <&PIC>;
|
||||
};
|
||||
};
|
|
@ -172,6 +172,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
|
||||
|
|
Loading…
Reference in New Issue