tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git rpi4-kms-5.7
head: 9be0b75695509010dcd2aac42bb6ef2196ef6f5f
commit: 2cb64c38eaf0c33e747804534cbdea2e5005d9ec [23/133] clk: bcm: rpi: Discover the
firmware clocks
config: i386-randconfig-s001-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-250-g42323db3-dirty
git checkout 2cb64c38eaf0c33e747804534cbdea2e5005d9ec
# save the attached .config to linux build tree
make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/clk/bcm/clk-raspberrypi.c:417:64: sparse: sparse:
incorrect type in argument 2 (different base types) @@ expected unsigned int parent @@
got restricted __le32 [usertype] parent @@
> drivers/clk/bcm/clk-raspberrypi.c:417:64: sparse: expected unsigned int parent
> drivers/clk/bcm/clk-raspberrypi.c:417:64: sparse: got restricted __le32
[usertype] parent
> drivers/clk/bcm/clk-raspberrypi.c:418:59: sparse: sparse: incorrect type in argument
3 (different base types) @@ expected unsigned int id @@ got restricted __le32
[usertype] id @@
> drivers/clk/bcm/clk-raspberrypi.c:418:59: sparse: expected unsigned int id
> drivers/clk/bcm/clk-raspberrypi.c:418:59: sparse: got restricted __le32
[usertype] id
> drivers/clk/bcm/clk-raspberrypi.c:422:39: sparse: sparse: restricted __le32 degrades
to integer
drivers/clk/bcm/clk-raspberrypi.c:423:41: sparse: sparse: restricted
__le32 degrades to integer
drivers/clk/bcm/clk-raspberrypi.c:412:29: sparse: sparse: restricted __le32 degrades to
integer
drivers/clk/bcm/clk-raspberrypi.c:412:29: sparse: sparse: restricted __le32 degrades to
integer
drivers/clk/bcm/clk-raspberrypi.c:412:29: sparse: sparse: restricted __le32 degrades to
integer
drivers/clk/bcm/clk-raspberrypi.c:412:29: sparse: sparse: restricted __le32 degrades to
integer
vim +417 drivers/clk/bcm/clk-raspberrypi.c
390
391 static int raspberrypi_discover_clocks(struct raspberrypi_clk *rpi,
392 struct clk_hw_onecell_data *data)
393 {
394 struct rpi_firmware_get_clocks_response *clks;
395 int ret;
396
397 clks = devm_kcalloc(rpi->dev,
398 sizeof(*clks), RPI_FIRMWARE_NUM_CLK_ID,
399 GFP_KERNEL);
400 if (!clks)
401 return -ENOMEM;
402
403 ret = rpi_firmware_property(rpi->firmware, RPI_FIRMWARE_GET_CLOCKS,
404 clks,
405 sizeof(*clks) * RPI_FIRMWARE_NUM_CLK_ID);
406 if (ret)
407 return ret;
408
409 while (clks->id) {
410 struct clk_hw *hw;
411
412 switch (clks->id) {
413 case RPI_FIRMWARE_ARM_CLK_ID:
414 case RPI_FIRMWARE_CORE_CLK_ID:
415 case RPI_FIRMWARE_M2MC_CLK_ID:
416 case RPI_FIRMWARE_V3D_CLK_ID:
417 hw = raspberrypi_clk_register(rpi, clks->parent,
418 clks->id);
419 if (IS_ERR(hw))
420 return PTR_ERR(hw);
421
422 data->hws[clks->id] = hw;
423 data->num =
clks->id + 1;
424 fallthrough;
425
426 default:
427 clks++;
428 break;
429 }
430 }
431
432 return 0;
433 }
434
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org