of/unittest: Add test that of_address_to_resource() fails on non-translatable address
BugLink: https://bugs.launchpad.net/bugs/2109640 [ Upstream commit 44748065ed321041db6e18cdcaa8c2a9554768ac ] of_address_to_resource() on a non-translatable address should return an error. Additionally, this case also triggers a spurious WARN for missing #address-cells/#size-cells. Link: https://lore.kernel.org/r/20250110215030.3637845-1-robh@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
b59210bafc
commit
80df0a0cb1
@@ -34,5 +34,18 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
platform-tests-2 {
|
||||
// No #address-cells or #size-cells
|
||||
node {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
test-device@100 {
|
||||
compatible = "test-sub-device";
|
||||
reg = <0x100 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1186,6 +1186,7 @@ static void __init of_unittest_bus_3cell_ranges(void)
|
||||
static void __init of_unittest_reg(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
struct resource res;
|
||||
int ret;
|
||||
u64 addr, size;
|
||||
|
||||
@@ -1202,6 +1203,19 @@ static void __init of_unittest_reg(void)
|
||||
np, addr);
|
||||
|
||||
of_node_put(np);
|
||||
|
||||
np = of_find_node_by_path("/testcase-data/platform-tests-2/node/test-device@100");
|
||||
if (!np) {
|
||||
pr_err("missing testcase data\n");
|
||||
return;
|
||||
}
|
||||
|
||||
ret = of_address_to_resource(np, 0, &res);
|
||||
unittest(ret == -EINVAL, "of_address_to_resource(%pOF) expected error on untranslatable address\n",
|
||||
np);
|
||||
|
||||
of_node_put(np);
|
||||
|
||||
}
|
||||
|
||||
struct of_unittest_expected_res {
|
||||
|
||||
Reference in New Issue
Block a user