stm32prog: add partition name in treat_partition_list error messages
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Tue, 18 Jan 2022 09:33:14 +0000 (10:33 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 24 Jan 2022 10:01:41 +0000 (11:01 +0100)
Add the partition name and remove the line number in error messages
of treat_partition_list() to provide correct information to user of
STM32CubeProgrammer.

The "line number" value was confusing because it is incorrect here;
the index in  part_array[] is not aligned with the line number in
the parsed Layout file, because the empty lines and the lines beginning
by '#' are skipped during the first parsing in parse_flash_layout().

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c

index 3b6ca4e..61cba15 100644 (file)
@@ -835,8 +835,8 @@ static int treat_partition_list(struct stm32prog_data *data)
                /* skip partition with IP="none" */
                if (part->target == STM32PROG_NONE) {
                        if (IS_SELECT(part)) {
-                               stm32prog_err("Layout: selected none phase = 0x%x",
-                                             part->id);
+                               stm32prog_err("Layout: selected none phase = 0x%x for part %s",
+                                             part->id, part->name);
                                return -EINVAL;
                        }
                        continue;
@@ -844,14 +844,14 @@ static int treat_partition_list(struct stm32prog_data *data)
 
                if (part->id == PHASE_FLASHLAYOUT ||
                    part->id > PHASE_LAST_USER) {
-                       stm32prog_err("Layout: invalid phase = 0x%x",
-                                     part->id);
+                       stm32prog_err("Layout: invalid phase = 0x%x for part %s",
+                                     part->id, part->name);
                        return -EINVAL;
                }
                for (j = i + 1; j < data->part_nb; j++) {
                        if (part->id == data->part_array[j].id) {
-                               stm32prog_err("Layout: duplicated phase 0x%x at line %d and %d",
-                                             part->id, i, j);
+                               stm32prog_err("Layout: duplicated phase 0x%x for part %s and %s",
+                                             part->id, part->name, data->part_array[j].name);
                                return -EINVAL;
                        }
                }