[PATCH v4 09/10] tools: spkgimage: add Renesas SPKG format
Ralph Siemsen
ralph.siemsen at linaro.org
Mon Apr 17 22:17:12 CEST 2023
On Mon, Apr 17, 2023 at 07:23:46PM +0200, Marek Vasut wrote:
>On 3/8/23 21:26, Ralph Siemsen wrote:
>>+ spkgimage.o \
>
>Maybe just call the file renesas_spkgimage.o so its clear which
>SoC/vendor this file is associtated with.
Okay, will do.
>>+static struct spkg_file out_buf;
>>+
>>+static uint32_t padding;
>
>Is this padding here and the padding in struct config_file below
>different padding ? Can we get rid of these static global variables ?
I will give it a try.
>
>>+static int check_range(const char *name, int val, int min, int max)
>>+{
>>+ if (val < min) {
>>+ fprintf(stderr, "Warning: param '%s' adjusted to min %d\n",
>>+ name, min);
>>+ val = min;
>>+ }
>>+
>>+ if (val > max) {
>>+ fprintf(stderr, "Warning: param '%s' adjusted to max %d\n",
>>+ name, max);
>>+ val = max;
>>+ }
>
>There is a macro clamp() which implements range limiting .
Thanks for pointing that out. However I think there is value in the
diagnostic print when the value is clamped. Ideally it should help the
user to fix their invoking script/binman/etc.
Of course, I could call clamp() and check if the value differs, but that
seems just as complex as the check_range().
>>+ while (fgets(line, sizeof(line), fcfg)) {
>>+ line_num += 1;
>>+
>>+ /* Skip blank lines and comments */
>>+ if (line[0] == '\n' || line[0] == '#')
>>+ continue;
>>+
>>+ /* Strip the trailing newline */
>>+ len = strlen(line);
>>+ if (line[len - 1] == '\n')
>>+ line[--len] = 0;
>
>Use len - 1 here too to avoid confusion ?
Old habit. I always try to update the length in sync with modifying the
string. If done as a separate line/statement, it is more likely to be
lost during subsequent modifications.
In this case I do not need "len" at all, so I could just do:
line[strcspn(line, "\n")] = 0;
Ralph
More information about the U-Boot
mailing list