On Fri, May 15, 2020 at 4:48 PM kbuild test robot <lkp(a)intel.com> wrote:
sparse warnings: (new ones prefixed by >>)
>> drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: sparse: incorrect
type in argument 1 (different base types) @@ expected unsigned int val @@ got
restricted __be32 [assignedunsigned int val @@
>> drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: expected
unsigned int val
>> drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: got restricted
__be32 [assigned] [usertype] reg
drivers/mtd/nand/raw/intel-nand-controller.c:444:24: sparse: sparse: incorrect type in
argument 1 (different base types) @@ expected unsigned int val @@ got restricted
__be32 [assignedunsigned int val @@
drivers/mtd/nand/raw/intel-nand-controller.c:444:24: sparse: expected unsigned int
val
drivers/mtd/nand/raw/intel-nand-controller.c:444:24: sparse: got restricted __be32
[assigned] [usertype] reg
440 reg = cpu_to_be32(*pdata++);
> 441 writel(reg, ebu_host->hsnand + HSNAND_CMSG_0);
442
443 reg = cpu_to_be32(*pdata);
444 writel(reg, ebu_host->hsnand + HSNAND_CMSG_1);
On BE:
cpu_to_be32 -> no-op
writel() -> converts reg to LE
On LE:
cpu_to_be32 -> converts to BE
writel() -> no-op (in terms of conversion)
Seems to me that the proper API (if above is intended) should be swab32().
But something tells me that above is broken (or my understanding is wrong).
--
With Best Regards,
Andy Shevchenko