[PATCH] of: partitions: Skip fixup for devices with no partitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If the device has no partitions, e.g. most EEPROM or OTP memory,
of_partition_fixup() can exit early, before trying to find the kernel dt
node and calling of_fixup_partitions().

This avoids spurious error messages when the kernel dt node doesn't
exist.  E.g., for an EEPROM in the Barebox dtb but not in the kernel
dtb, Barebox will display an error about being unable to fixup the
kernel dt node, however, if it had found the node it would just return
without doing anything since the partition list is empty, so really
there is no error.

Signed-off-by: Trent Piepho <trent.piepho@xxxxxxxxxxxxxxxxx>
---
 drivers/of/partition.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index 10081363d..18b138f00 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -256,6 +256,9 @@ static int of_partition_fixup(struct device_node *root, void *ctx)
 	if (!cdev->device_node)
 		return -EINVAL;
 
+	if (list_empty(&cdev->partitions))
+		return 0;
+
 	name = of_get_reproducible_name(cdev->device_node);
 	np = of_find_node_by_reproducible_name(root, name);
 	free(name);
-- 
2.31.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux