Re: [PATCH] scripts: check.c fix compile error

From: Rob Herring
Date: Tue May 16 2017 - 08:53:23 EST


On Mon, May 15, 2017 at 2:10 PM, Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
> Fix the following compile error:

On what host? 32-bit I guess.

I'll take this, but can you also send this to upstream dtc and
devicetree-compiler list. Normally, dtc is just an import.

>
> checks.c: In function âcheck_simple_bus_regâ:
> checks.c:876:41: error: format â%lxâ expects argument of type
> âlong unsigned intâ, but argument 4 has type âuint64_t {aka
> long long unsigned int}â [-Werror=format=]
> snprintf(unit_addr, sizeof(unit_addr), "%lx", reg);
> ^
> checks.c:876:41: error: format â%lxâ expects argument of type
> âlong unsigned intâ, but argument 4 has type âuint64_t
> {aka long long unsigned int}â [-Werror=format=]
> cc1: all warnings being treated as errors
> Makefile:304: recipe for target 'checks.o' failed
> make: *** [checks.o] Error 1
>
> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> ---
> scripts/dtc/checks.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c
> index 5adfc8f..6dfb82f 100644
> --- a/scripts/dtc/checks.c
> +++ b/scripts/dtc/checks.c
> @@ -873,7 +873,7 @@ static void check_simple_bus_reg(struct check *c, struct dt_info *dti, struct no
> while (size--)
> reg = (reg << 32) | fdt32_to_cpu(*(cells++));
>
> - snprintf(unit_addr, sizeof(unit_addr), "%lx", reg);
> + snprintf(unit_addr, sizeof(unit_addr), "%llx", reg);
> if (!streq(unitname, unit_addr))
> FAIL(c, dti, "Node %s simple-bus unit address format error, expected \"%s\"",
> node->fullpath, unit_addr);
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html