include/linux/virtio_config.h:223: undefined reference to `scsi_scan_host'

From: kbuild test robot
Date: Tue Mar 24 2020 - 01:34:50 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 979e52ca0469fb38646bc51d26a0263a740c9f03
commit: 759bdc168181abeff61399d0f7ecec2852cc3e61 RISC-V: Add kconfig option for QEMU virt machine
date: 3 weeks ago
config: riscv-randconfig-a001-20200324 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 759bdc168181abeff61399d0f7ecec2852cc3e61
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=riscv

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

riscv32-linux-ld: drivers/virtio/virtio_balloon.o: in function `leak_balloon':
drivers/virtio/virtio_balloon.c:250: undefined reference to `balloon_page_dequeue'
riscv32-linux-ld: drivers/virtio/virtio_balloon.o: in function `towards_target':
drivers/virtio/virtio_balloon.c:362: undefined reference to `balloon_page_alloc'
riscv32-linux-ld: drivers/virtio/virtio_balloon.o: in function `fill_balloon':
drivers/virtio/virtio_balloon.c:187: undefined reference to `balloon_page_enqueue'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o: in function `virtio_gpu_remove':
drivers/gpu/drm/virtio/virtgpu_drv.c:138: undefined reference to `drm_dev_unregister'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.c:140: undefined reference to `drm_dev_put'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o: in function `virtio_gpu_probe':
drivers/gpu/drm/virtio/virtgpu_drv.c:107: undefined reference to `drm_dev_alloc'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.c:118: undefined reference to `drm_dev_put'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.c:132: undefined reference to `drm_dev_register'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o: in function `virtio_gpu_pci_quirk':
drivers/gpu/drm/virtio/virtgpu_drv.c:92: undefined reference to `drm_dev_set_unique'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o: in function `.LANCHOR0':
virtgpu_drv.c:(.data+0xdc): undefined reference to `drm_gem_prime_handle_to_fd'
riscv32-linux-ld: virtgpu_drv.c:(.data+0xe0): undefined reference to `drm_gem_prime_fd_to_handle'
riscv32-linux-ld: virtgpu_drv.c:(.data+0x104): undefined reference to `drm_gem_prime_mmap'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x8): undefined reference to `drm_read'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x24): undefined reference to `drm_poll'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x28): undefined reference to `drm_ioctl'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x30): undefined reference to `drm_gem_mmap'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x38): undefined reference to `drm_open'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_drv.o:(.rodata+0x40): undefined reference to `drm_release'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_change_queue_depth':
drivers/scsi/virtio_scsi.c:677: undefined reference to `scsi_change_queue_depth'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_device_reset':
drivers/scsi/virtio_scsi.c:623: undefined reference to `sdev_prefix_printk'
riscv32-linux-ld: drivers/scsi/virtio_scsi.c:630: undefined reference to `scsi_remove_host'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtio_scsi_host':
drivers/scsi/virtio_scsi.c:94: undefined reference to `scsi_host_put'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_complete_cmd':
drivers/scsi/virtio_scsi.c:119: undefined reference to `scmd_printk'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtio_scsi_host':
drivers/scsi/virtio_scsi.c:94: undefined reference to `scsi_device_lookup'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_handle_param_change':
drivers/scsi/virtio_scsi.c:311: undefined reference to `scsi_device_put'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_handle_transport_reset':
drivers/scsi/virtio_scsi.c:285: undefined reference to `scsi_device_lookup'
riscv32-linux-ld: drivers/scsi/virtio_scsi.c:285: undefined reference to `scsi_remove_device'
riscv32-linux-ld: drivers/scsi/virtio_scsi.c:285: undefined reference to `scsi_device_put'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_handle_event':
drivers/scsi/virtio_scsi.c:368: undefined reference to `__scsi_iterate_devices'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_rescan_hotunplug':
drivers/scsi/virtio_scsi.c:340: undefined reference to `__scsi_execute'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `scsi_execute_req':
include/scsi/scsi_device.h:455: undefined reference to `__scsi_iterate_devices'
riscv32-linux-ld: include/scsi/scsi_device.h:455: undefined reference to `scsi_remove_device'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_rescan_hotunplug':
drivers/scsi/virtio_scsi.c:350: undefined reference to `__scsi_iterate_devices'
riscv32-linux-ld: drivers/scsi/virtio_scsi.c:338: undefined reference to `scsi_scan_host'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_handle_event':
drivers/scsi/virtio_scsi.c:371: undefined reference to `scsi_add_device'
riscv32-linux-ld: drivers/scsi/virtio_scsi.c:371: undefined reference to `scsi_rescan_device'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_queuecommand':
drivers/scsi/virtio_scsi.c:588: undefined reference to `scmd_printk'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtscsi_probe':
drivers/scsi/virtio_scsi.c:850: undefined reference to `scsi_host_alloc'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtio_find_vqs':
include/linux/virtio_config.h:197: undefined reference to `scsi_host_put'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtio_cread32':
include/linux/virtio_config.h:423: undefined reference to `scsi_add_host_with_dma'
riscv32-linux-ld: drivers/scsi/virtio_scsi.o: in function `virtio_device_ready':
>> include/linux/virtio_config.h:223: undefined reference to `scsi_scan_host'
riscv32-linux-ld: drivers/crypto/virtio/virtio_crypto_core.o: in function `virtcrypto_clear_crypto_engines':
drivers/crypto/virtio/virtio_crypto_core.c:273: undefined reference to `crypto_engine_exit'
riscv32-linux-ld: drivers/crypto/virtio/virtio_crypto_core.o: in function `virtcrypto_find_vqs':
drivers/crypto/virtio/virtio_crypto_core.c:94: undefined reference to `crypto_engine_alloc_init'
riscv32-linux-ld: drivers/crypto/virtio/virtio_crypto_core.o: in function `virtqueue_set_affinity':
include/linux/virtio_config.h:249: undefined reference to `crypto_engine_start'
riscv32-linux-ld: drivers/crypto/virtio/virtio_crypto_core.o: in function `virtcrypto_probe':
drivers/crypto/virtio/virtio_crypto_core.c:412: undefined reference to `crypto_engine_exit'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.o: in function `virtio_gpu_config_changed_work_func':
drivers/gpu/drm/virtio/virtgpu_kms.c:47: undefined reference to `drm_helper_hpd_irq_event'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.o: in function `virtio_find_vqs':
include/linux/virtio_config.h:197: undefined reference to `__drm_err'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.o: in function `virtio_gpu_init':
drivers/gpu/drm/virtio/virtgpu_kms.c:173: undefined reference to `__drm_err'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.c:183: undefined reference to `__drm_err'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.o: in function `kmalloc_array':
include/linux/slab.h:593: undefined reference to `__drm_err'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_kms.o: in function `virtio_gpu_init':
drivers/gpu/drm/virtio/virtgpu_kms.c:206: undefined reference to `__drm_err'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_gem_create':
drivers/gpu/drm/virtio/virtgpu_gem.c:46: undefined reference to `drm_gem_handle_create'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.c:52: undefined reference to `drm_gem_object_put_unlocked'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.c:59: undefined reference to `drm_gem_object_release'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_mode_dumb_mmap':
drivers/gpu/drm/virtio/virtgpu_gem.c:97: undefined reference to `drm_gem_object_lookup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `drm_vma_node_offset_addr':
include/drm/drm_vma_manager.h:204: undefined reference to `drm_gem_object_put_unlocked'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_array_lock_resv':
drivers/gpu/drm/virtio/virtgpu_gem.c:201: undefined reference to `drm_gem_lock_reservations'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_array_unlock_resv':
drivers/gpu/drm/virtio/virtgpu_gem.c:221: undefined reference to `drm_gem_unlock_reservations'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_array_put_free':
drivers/gpu/drm/virtio/virtgpu_gem.c:233: undefined reference to `drm_gem_object_put_unlocked'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_gem.o: in function `virtio_gpu_array_from_handles':
drivers/gpu/drm/virtio/virtgpu_gem.c:174: undefined reference to `drm_gem_object_lookup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `vgdev_atomic_commit_tail':
drivers/gpu/drm/virtio/virtgpu_display.c:331: undefined reference to `drm_atomic_helper_commit_modeset_disables'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:332: undefined reference to `drm_atomic_helper_commit_modeset_enables'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:333: undefined reference to `drm_atomic_helper_commit_planes'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:335: undefined reference to `drm_atomic_helper_commit_hw_done'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:337: undefined reference to `drm_atomic_helper_wait_for_vblanks'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:338: undefined reference to `drm_atomic_helper_cleanup_planes'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_conn_mode_valid':
drivers/gpu/drm/virtio/virtgpu_display.c:206: undefined reference to `__drm_dbg'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_conn_get_modes':
drivers/gpu/drm/virtio/virtgpu_display.c:163: undefined reference to `drm_add_edid_modes'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:170: undefined reference to `drm_add_modes_noedid'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:175: undefined reference to `drm_set_preferred_mode'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:177: undefined reference to `__drm_dbg'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:178: undefined reference to `drm_cvt_mode'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:181: undefined reference to `drm_mode_probed_add'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_conn_destroy':
drivers/gpu/drm/virtio/virtgpu_display.c:236: undefined reference to `drm_connector_unregister'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:237: undefined reference to `drm_connector_cleanup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_crtc_atomic_flush':
drivers/gpu/drm/virtio/virtgpu_display.c:127: undefined reference to `drm_crtc_send_vblank_event'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_user_framebuffer_create':
drivers/gpu/drm/virtio/virtgpu_display.c:309: undefined reference to `drm_gem_object_lookup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_framebuffer_init':
drivers/gpu/drm/virtio/virtgpu_display.c:75: undefined reference to `drm_helper_mode_fill_fb_struct'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:77: undefined reference to `drm_framebuffer_init'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_user_framebuffer_create':
drivers/gpu/drm/virtio/virtgpu_display.c:319: undefined reference to `drm_gem_object_put_unlocked'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_modeset_init':
drivers/gpu/drm/virtio/virtgpu_display.c:357: undefined reference to `drm_mode_config_init'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `vgdev_output_init':
drivers/gpu/drm/virtio/virtgpu_display.c:285: undefined reference to `drm_encoder_init'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:290: undefined reference to `drm_connector_attach_encoder'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:290: undefined reference to `drm_connector_register'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:275: undefined reference to `drm_crtc_init_with_planes'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `drm_crtc_helper_add':
include/drm/drm_modeset_helper_vtables.h:463: undefined reference to `drm_connector_init'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `drm_connector_helper_add':
include/drm/drm_modeset_helper_vtables.h:1061: undefined reference to `drm_connector_attach_edid_property'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `vgdev_output_init':
drivers/gpu/drm/virtio/virtgpu_display.c:283: undefined reference to `drm_mode_config_reset'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `virtio_gpu_modeset_fini':
drivers/gpu/drm/virtio/virtgpu_display.c:377: undefined reference to `drm_atomic_helper_shutdown'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.c:378: undefined reference to `drm_mode_config_cleanup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `.LANCHOR0':
drivers/gpu/drm/virtio/virtgpu_display.c:59: undefined reference to `drm_gem_fb_destroy'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `.LANCHOR0':
virtgpu_display.c:(.rodata+0x4): undefined reference to `drm_gem_fb_create_handle'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x8): undefined reference to `drm_atomic_helper_dirtyfb'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x1c): undefined reference to `drm_atomic_helper_check'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x20): undefined reference to `drm_atomic_helper_commit'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `.LANCHOR0':
drivers/gpu/drm/virtio/virtgpu_display.c:49: undefined reference to `drm_atomic_helper_crtc_reset'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_display.o: in function `.LANCHOR0':
virtgpu_display.c:(.rodata+0x44): undefined reference to `drm_crtc_cleanup'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x48): undefined reference to `drm_atomic_helper_set_config'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x4c): undefined reference to `drm_atomic_helper_page_flip'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x58): undefined reference to `drm_atomic_helper_crtc_duplicate_state'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x5c): undefined reference to `drm_atomic_helper_crtc_destroy_state'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0xcc): undefined reference to `drm_atomic_helper_connector_reset'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0xd8): undefined reference to `drm_helper_probe_single_connector_modes'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0xec): undefined reference to `drm_atomic_helper_connector_duplicate_state'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0xf0): undefined reference to `drm_atomic_helper_connector_destroy_state'
riscv32-linux-ld: virtgpu_display.c:(.rodata+0x128): undefined reference to `drm_encoder_cleanup'
riscv32-linux-ld: drivers/gpu/drm/virtio/virtgpu_vq.o: in function `virtio_gpu_cmd_get_display_info_cb':

vim +223 include/linux/virtio_config.h

66846048f55c6c Rick Jones 2011-11-14 190
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 191 static inline
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 192 int virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 193 struct virtqueue *vqs[], vq_callback_t *callbacks[],
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 194 const char * const names[],
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 195 struct irq_affinity *desc)
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 196 {
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 @197 return vdev->config->find_vqs(vdev, nvqs, vqs, callbacks, names, NULL, desc);
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 198 }
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 199
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 200 static inline
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 201 int virtio_find_vqs_ctx(struct virtio_device *vdev, unsigned nvqs,
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 202 struct virtqueue *vqs[], vq_callback_t *callbacks[],
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 203 const char * const names[], const bool *ctx,
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 204 struct irq_affinity *desc)
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 205 {
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 206 return vdev->config->find_vqs(vdev, nvqs, vqs, callbacks, names, ctx,
f94682dde5ed23 Michael S. Tsirkin 2017-03-06 207 desc);
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 208 }
9b2bbdb2275884 Michael S. Tsirkin 2017-03-06 209
3569db593081fd Michael S. Tsirkin 2014-10-15 210 /**
3569db593081fd Michael S. Tsirkin 2014-10-15 211 * virtio_device_ready - enable vq use in probe function
3569db593081fd Michael S. Tsirkin 2014-10-15 212 * @vdev: the device
3569db593081fd Michael S. Tsirkin 2014-10-15 213 *
3569db593081fd Michael S. Tsirkin 2014-10-15 214 * Driver must call this to use vqs in the probe function.
3569db593081fd Michael S. Tsirkin 2014-10-15 215 *
3569db593081fd Michael S. Tsirkin 2014-10-15 216 * Note: vqs are enabled automatically after probe returns.
3569db593081fd Michael S. Tsirkin 2014-10-15 217 */
3569db593081fd Michael S. Tsirkin 2014-10-15 218 static inline
3569db593081fd Michael S. Tsirkin 2014-10-15 219 void virtio_device_ready(struct virtio_device *dev)
3569db593081fd Michael S. Tsirkin 2014-10-15 220 {
3569db593081fd Michael S. Tsirkin 2014-10-15 221 unsigned status = dev->config->get_status(dev);
3569db593081fd Michael S. Tsirkin 2014-10-15 222
3569db593081fd Michael S. Tsirkin 2014-10-15 @223 BUG_ON(status & VIRTIO_CONFIG_S_DRIVER_OK);
3569db593081fd Michael S. Tsirkin 2014-10-15 224 dev->config->set_status(dev, status | VIRTIO_CONFIG_S_DRIVER_OK);
3569db593081fd Michael S. Tsirkin 2014-10-15 225 }
3569db593081fd Michael S. Tsirkin 2014-10-15 226

:::::: The code at line 223 was first introduced by commit
:::::: 3569db593081fd88bbd6df21b9b0531873f2042c virtio: add API to enable VQs early

:::::: TO: Michael S. Tsirkin <mst@xxxxxxxxxx>
:::::: CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip