mirror of
https://github.com/dgibson/dtc.git
synced 2025-10-13 16:27:39 -04:00
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>
This commit is contained in:
parent
7e089d9473
commit
e4ffc1443d
3 changed files with 32 additions and 22 deletions
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);
|
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[] = {
|
static struct check *check_table[] = {
|
||||||
&duplicate_node_names, &duplicate_property_names,
|
&duplicate_node_names, &duplicate_property_names,
|
||||||
&name_is_string, &name_properties,
|
&name_is_string, &name_properties,
|
||||||
|
@ -488,6 +505,7 @@ static struct check *check_table[] = {
|
||||||
&addr_size_cells, ®_format, &ranges_format,
|
&addr_size_cells, ®_format, &ranges_format,
|
||||||
|
|
||||||
&avoid_default_addr_size,
|
&avoid_default_addr_size,
|
||||||
|
&obsolete_chosen_interrupt_controller,
|
||||||
};
|
};
|
||||||
|
|
||||||
int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys);
|
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;
|
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 check_semantics(struct node *dt, int outversion, int boot_cpuid_phys)
|
||||||
{
|
{
|
||||||
int ok = 1;
|
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_root(dt);
|
||||||
ok = ok && check_cpus(dt, outversion, boot_cpuid_phys);
|
ok = ok && check_cpus(dt, outversion, boot_cpuid_phys);
|
||||||
ok = ok && check_memory(dt);
|
ok = ok && check_memory(dt);
|
||||||
ok = ok && check_chosen(dt);
|
|
||||||
if (! ok)
|
if (! ok)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
13
tests/obsolete-chosen-interrupt-controller.dts
Normal file
13
tests/obsolete-chosen-interrupt-controller.dts
Normal file
|
@ -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 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 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 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
|
while getopts "vt:m" ARG ; do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue