checks: fix handling of unresolved phandles for dts plugins
In dts plugins, it is valid to have unresolved phandle values. The check_property_phandle_args and check_interrupts_property checks failed to account for this resulting in spurious warnings or asserts, respectively. Fix this by bailing from the checks if we're checking a dts plugin as there is no way to further validate the properties. Fixes:mainee3d26f696
("checks: add interrupts property check") Fixes:b3bbac02d5
("checks: add phandle with arg property checks") Reported-by: Alan Tull <atull@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
parent
f8872e29ce
commit
c1e55a5513
9
checks.c
9
checks.c
|
@ -988,6 +988,10 @@ static void check_property_phandle_args(struct check *c,
|
||||||
* entries when each index position has a specific definition.
|
* entries when each index position has a specific definition.
|
||||||
*/
|
*/
|
||||||
if (phandle == 0 || phandle == -1) {
|
if (phandle == 0 || phandle == -1) {
|
||||||
|
/* Give up if this is an overlay with external references */
|
||||||
|
if (dti->dtsflags & DTSF_PLUGIN)
|
||||||
|
break;
|
||||||
|
|
||||||
cellsize = 0;
|
cellsize = 0;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1176,6 +1180,11 @@ static void check_interrupts_property(struct check *c,
|
||||||
prop = get_property(parent, "interrupt-parent");
|
prop = get_property(parent, "interrupt-parent");
|
||||||
if (prop) {
|
if (prop) {
|
||||||
phandle = propval_cell(prop);
|
phandle = propval_cell(prop);
|
||||||
|
/* Give up if this is an overlay with external references */
|
||||||
|
if ((phandle == 0 || phandle == -1) &&
|
||||||
|
(dti->dtsflags & DTSF_PLUGIN))
|
||||||
|
return;
|
||||||
|
|
||||||
irq_node = get_node_by_phandle(root, phandle);
|
irq_node = get_node_by_phandle(root, phandle);
|
||||||
if (!irq_node) {
|
if (!irq_node) {
|
||||||
FAIL(c, dti, "Bad interrupt-parent phandle for %s",
|
FAIL(c, dti, "Bad interrupt-parent phandle for %s",
|
||||||
|
|
Loading…
Reference in New Issue