Hi Dave, I love your patch! Yet something to improve: [auto build test ERROR on vkoul-dmaengine/next] [also build test ERROR on linus/master v5.9-rc6] [cannot apply to tip/x86/core tip/master next-20200924] [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] url: https://github.com/0day-ci/linux/commits/Dave-Jiang/Add-shared-workqueue-support-for-idxd-driver/20200925-020242 base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/x86/include/asm/tsc.h:9, from arch/x86/include/asm/timex.h:6, from include/linux/timex.h:65, from include/linux/time32.h:13, from include/linux/time.h:73, from include/linux/stat.h:19, from include/linux/module.h:13, from drivers/dma/idxd/init.c:5: drivers/dma/idxd/init.c: In function 'idxd_init_module': >> drivers/dma/idxd/init.c:525:20: error: 'X86_FEATURE_ENQCMD' undeclared (first use in this function); did you mean 'X86_FEATURE_PCID'? 525 | if (!boot_cpu_has(X86_FEATURE_ENQCMD)) | ^~~~~~~~~~~~~~~~~~ arch/x86/include/asm/cpufeature.h:118:24: note: in definition of macro 'cpu_has' 118 | (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ | ^~~ drivers/dma/idxd/init.c:525:7: note: in expansion of macro 'boot_cpu_has' 525 | if (!boot_cpu_has(X86_FEATURE_ENQCMD)) | ^~~~~~~~~~~~ drivers/dma/idxd/init.c:525:20: note: each undeclared identifier is reported only once for each function it appears in 525 | if (!boot_cpu_has(X86_FEATURE_ENQCMD)) | ^~~~~~~~~~~~~~~~~~ arch/x86/include/asm/cpufeature.h:118:24: note: in definition of macro 'cpu_has' 118 | (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ | ^~~ drivers/dma/idxd/init.c:525:7: note: in expansion of macro 'boot_cpu_has' 525 | if (!boot_cpu_has(X86_FEATURE_ENQCMD)) | ^~~~~~~~~~~~ # https://github.com/0day-ci/linux/commit/8c78721a970a316ba914bdaaea606e152462fe94 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dave-Jiang/Add-shared-workqueue-support-for-idxd-driver/20200925-020242 git checkout 8c78721a970a316ba914bdaaea606e152462fe94 vim +525 drivers/dma/idxd/init.c 511 512 static int __init idxd_init_module(void) 513 { 514 int err, i; 515 516 /* 517 * If the CPU does not support MOVDIR64B or ENQCMDS, there's no point in 518 * enumerating the device. We can not utilize it. 519 */ 520 if (!boot_cpu_has(X86_FEATURE_MOVDIR64B)) { 521 pr_warn("idxd driver failed to load without MOVDIR64B.\n"); 522 return -ENODEV; 523 } 524 > 525 if (!boot_cpu_has(X86_FEATURE_ENQCMD)) 526 pr_warn("Platform does not have ENQCMD(S) support.\n"); 527 else 528 support_enqcmd = true; 529 530 mutex_init(&idxd_idr_lock); 531 for (i = 0; i < IDXD_TYPE_MAX; i++) 532 idr_init(&idxd_idrs[i]); 533 534 err = idxd_register_bus_type(); 535 if (err < 0) 536 return err; 537 538 err = idxd_register_driver(); 539 if (err < 0) 540 goto err_idxd_driver_register; 541 542 err = idxd_cdev_register(); 543 if (err) 544 goto err_cdev_register; 545 546 err = pci_register_driver(&idxd_pci_driver); 547 if (err) 548 goto err_pci_register; 549 550 return 0; 551 552 err_pci_register: 553 idxd_cdev_remove(); 554 err_cdev_register: 555 idxd_unregister_driver(); 556 err_idxd_driver_register: 557 idxd_unregister_bus_type(); 558 return err; 559 } 560 module_init(idxd_init_module); 561 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org