diff --git a/src/libdt.c b/src/libdt.c index 8ae9978..bdfd409 100644 --- a/src/libdt.c +++ b/src/libdt.c @@ -2417,6 +2417,18 @@ */ node = partition_node->parent; + if (of_device_is_compatible(node, "fixed-partitions")) { + const char *uuid; + + /* when partuuid is specified short-circuit the search for the cdev */ + ret = of_property_read_string(partition_node, "partuuid", &uuid); + if (!ret) { + *devpath = basprintf("/dev/disk/by-partuuid/%s", uuid); + + return 0; + } + } + /* * Respect flash "partitions" subnode. Use parent of parent in this * case.