Re: [PATCH v4 3/3] SPI: Add virtio SPI driver
kernel test robot <[email protected]> Thu, 21 Aug 2025 10:22:13 +0800
| Newsgroups | dev.linux.lists.virtio-dev,dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel,org.kernel.vger.linux-spi |
|---|---|
| Message-ID | <[email protected]> |
Hi Haixu, kernel test robot noticed the following build warnings: [auto build test WARNING on broonie-spi/for-next] [also build test WARNING on linus/master v6.17-rc2 next-20250820] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Haixu-Cui/virtio-Add-ID-for-virtio-SPI/20250820-165441 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next patch link: https://lore.kernel.org/r/20250820084944.84505-4-quic_haixcui%40quicinc.com patch subject: [PATCH v4 3/3] SPI: Add virtio SPI driver config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20250821/[email protected]/config) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250821/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): >> drivers/spi/spi-virtio.c:373:45: warning: cast from 'void (*)(struct virtio_device *)' to 'void (*)(void *)' converts to incompatible function type [-Wcast-function-type-strict] 373 | err = devm_add_action_or_reset(&vdev->dev, (void (*)(void *))virtio_spi_del_vq, vdev); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/device/devres.h:166:34: note: expanded from macro 'devm_add_action_or_reset' 166 | __devm_add_action_or_reset(dev, action, data, #action) | ^~~~~~ 1 warning generated. vim +373 drivers/spi/spi-virtio.c 333 334 static int virtio_spi_probe(struct virtio_device *vdev) 335 { 336 struct virtio_spi_priv *priv; 337 struct spi_controller *ctrl; 338 int err; 339 u32 bus_num; 340 341 ctrl = devm_spi_alloc_host(&vdev->dev, sizeof(*priv)); 342 if (!ctrl) 343 return -ENOMEM; 344 345 priv = spi_controller_get_devdata(ctrl); 346 priv->vdev = vdev; 347 vdev->priv = priv; 348 349 device_set_node(&ctrl->dev, dev_fwnode(&vdev->dev)); 350 351 /* Setup ACPI node for controlled devices which will be probed through ACPI. */ 352 ACPI_COMPANION_SET(&vdev->dev, ACPI_COMPANION(vdev->dev.parent)); 353 354 dev_set_drvdata(&vdev->dev, ctrl); 355 356 err = device_property_read_u32(&vdev->dev, "spi,bus-num", &bus_num); 357 if (!err && bus_num <= S16_MAX) 358 ctrl->bus_num = bus_num; 359 else 360 ctrl->bus_num = -1; 361 362 virtio_spi_read_config(vdev); 363 364 ctrl->transfer_one = virtio_spi_transfer_one; 365 366 err = virtio_spi_find_vqs(priv); 367 if (err) { 368 dev_err_probe(&vdev->dev, err, "Cannot setup virtqueues\n"); 369 return err; 370 } 371 372 /* Register cleanup for virtqueues using devm */ > 373 err = devm_add_action_or_reset(&vdev->dev, (void (*)(void *))virtio_spi_del_vq, vdev); 374 if (err) { 375 dev_err_probe(&vdev->dev, err, "Cannot register virtqueue cleanup\n"); 376 return err; 377 } 378 379 /* Use devm version to register controller */ 380 err = devm_spi_register_controller(&vdev->dev, ctrl); 381 if (err) { 382 dev_err_probe(&vdev->dev, err, "Cannot register controller\n"); 383 return err; 384 } 385 386 return 0; 387 } 388 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki