of: Make explicit cpu_to_be32 conversion to mute sparse warning
authorDawei Li <dawei.li@shingroup.cn>
Mon, 5 Feb 2024 02:40:33 +0000 (10:40 +0800)
committerRob Herring <robh@kernel.org>
Tue, 13 Feb 2024 18:12:28 +0000 (12:12 -0600)
Kernel test robot reports sparse warning:
sparse warnings: (new ones prefixed by >>)
>> drivers/of/base.c:1337:73: sparse: sparse: incorrect type in initializer
   (different base types) @@  expected restricted __be32 @@  got int @@
   drivers/of/base.c:1337:73: sparse:     expected restricted __be32
   drivers/of/base.c:1337:73: sparse:     got int

Thus, Make explicit conversions to mute warning(Although BE and LE are
exactly same in binary representation for 0/~0).

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402042134.GEb3Bgwl-lkp@intel.com/
Signed-off-by: Dawei Li <dawei.li@shingroup.cn>
Link: https://lore.kernel.org/r/20240205024033.3572617-1-dawei.li@shingroup.cn
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/base.c

index b0ad8fc..f71cda9 100644 (file)
@@ -1345,8 +1345,8 @@ int of_parse_phandle_with_args_map(const struct device_node *np,
        char *pass_name = NULL;
        struct device_node *cur, *new = NULL;
        const __be32 *map, *mask, *pass;
-       static const __be32 dummy_mask[] = { [0 ... MAX_PHANDLE_ARGS] = ~0 };
-       static const __be32 dummy_pass[] = { [0 ... MAX_PHANDLE_ARGS] = 0 };
+       static const __be32 dummy_mask[] = { [0 ... MAX_PHANDLE_ARGS] = cpu_to_be32(~0) };
+       static const __be32 dummy_pass[] = { [0 ... MAX_PHANDLE_ARGS] = cpu_to_be32(0) };
        __be32 initial_match_array[MAX_PHANDLE_ARGS];
        const __be32 *match_array = initial_match_array;
        int i, ret, map_len, match;