condition: fix device-tree firmware path

The path /sys/firmware/device-tree doesn't exist. This should be either
/proc/device-tree or /sys/firmware/devicetree.

The first path is only a link. So lets use the second path.

See https://github.com/torvalds/linux/blob/v4.14/drivers/of/base.c#L218.
This commit is contained in:
Daniel Braunwarth
2022-08-29 13:47:56 +09:00
committed by Yu Watanabe
parent b72e5d9d8e
commit 1037178acf
+2 -2
View File
@@ -649,9 +649,9 @@ static int condition_test_firmware(Condition *c, char **env) {
assert(c->type == CONDITION_FIRMWARE);
if (streq(c->parameter, "device-tree")) {
if (access("/sys/firmware/device-tree/", F_OK) < 0) {
if (access("/sys/firmware/devicetree/", F_OK) < 0) {
if (errno != ENOENT)
log_debug_errno(errno, "Unexpected error when checking for /sys/firmware/device-tree/: %m");
log_debug_errno(errno, "Unexpected error when checking for /sys/firmware/devicetree/: %m");
return false;
} else
return true;