Hi Richard, Thank you for the patch! Yet something to improve: [auto build test ERROR on broonie-sound/for-next] [also build test ERROR on linus/master v6.3-rc2 next-20230316] [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/Richard-Fitzgerald-via-Alsa-devel/ASoC-wm_adsp-Use-no_core_startstop-to-prevent-creating-preload-control/20230313-235605 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next patch link: https://lore.kernel.org/r/167872265923.26.336497278776737619%40mailman-core.alsa-project.org patch subject: [PATCH v2 8/8] ASoC: cs35l56: Add driver for Cirrus Logic CS35L56 config: x86_64-buildonly-randconfig-r004-20230313 (https://download.01.org/0day-ci/archive/20230317/202303171105.3mGHjK8s-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/5856c94d659f9c9963f5c37762cf201e1f1765e9 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Richard-Fitzgerald-via-Alsa-devel/ASoC-wm_adsp-Use-no_core_startstop-to-prevent-creating-preload-control/20230313-235605 git checkout 5856c94d659f9c9963f5c37762cf201e1f1765e9 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 olddefconfig make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/platform/x86/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303171105.3mGHjK8s-lkp@xxxxxxxxx/ All error/warnings (new ones prefixed by >>): drivers/platform/x86/serial-multi-instantiate.c: In function 'smi_spi_probe': >> drivers/platform/x86/serial-multi-instantiate.c:98:15: error: implicit declaration of function 'acpi_spi_count_resources'; did you mean 'acpi_set_current_resources'? [-Werror=implicit-function-declaration] 98 | ret = acpi_spi_count_resources(adev); | ^~~~~~~~~~~~~~~~~~~~~~~~ | acpi_set_current_resources >> drivers/platform/x86/serial-multi-instantiate.c:112:27: error: implicit declaration of function 'acpi_spi_device_alloc' [-Werror=implicit-function-declaration] 112 | spi_dev = acpi_spi_device_alloc(NULL, adev, i); | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/platform/x86/serial-multi-instantiate.c:112:25: warning: assignment to 'struct spi_device *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 112 | spi_dev = acpi_spi_device_alloc(NULL, adev, i); | ^ >> drivers/platform/x86/serial-multi-instantiate.c:115:59: error: invalid use of undefined type 'struct acpi_device' 115 | dev_name(&adev->dev)); | ^~ drivers/platform/x86/serial-multi-instantiate.c:137:53: error: invalid use of undefined type 'struct acpi_device' 137 | dev_name(&adev->dev)); | ^~ cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SERIAL_MULTI_INSTANTIATE Depends on [n]: X86_PLATFORM_DEVICES [=n] && I2C [=y] && SPI [=y] && ACPI [=n] Selected by [y]: - SND_SOC_CS35L56_I2C [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=y] - SND_SOC_CS35L56_SPI [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SPI_MASTER [=y] vim +112 drivers/platform/x86/serial-multi-instantiate.c 68f201f9061c000 Stefan Binding 2022-01-21 79 68f201f9061c000 Stefan Binding 2022-01-21 80 /** 68f201f9061c000 Stefan Binding 2022-01-21 81 * smi_spi_probe - Instantiate multiple SPI devices from inst array 68f201f9061c000 Stefan Binding 2022-01-21 82 * @pdev: Platform device 68f201f9061c000 Stefan Binding 2022-01-21 83 * @smi: Internal struct for Serial multi instantiate driver 68f201f9061c000 Stefan Binding 2022-01-21 84 * @inst_array: Array of instances to probe 68f201f9061c000 Stefan Binding 2022-01-21 85 * 68f201f9061c000 Stefan Binding 2022-01-21 86 * Returns the number of SPI devices instantiate, Zero if none is found or a negative error code. 68f201f9061c000 Stefan Binding 2022-01-21 87 */ 8b50c48d59a9cd0 Andy Shevchenko 2022-07-10 88 static int smi_spi_probe(struct platform_device *pdev, struct smi *smi, 68f201f9061c000 Stefan Binding 2022-01-21 89 const struct smi_instance *inst_array) 68f201f9061c000 Stefan Binding 2022-01-21 90 { 68f201f9061c000 Stefan Binding 2022-01-21 91 struct device *dev = &pdev->dev; 8b50c48d59a9cd0 Andy Shevchenko 2022-07-10 92 struct acpi_device *adev = ACPI_COMPANION(dev); 68f201f9061c000 Stefan Binding 2022-01-21 93 struct spi_controller *ctlr; 68f201f9061c000 Stefan Binding 2022-01-21 94 struct spi_device *spi_dev; 68f201f9061c000 Stefan Binding 2022-01-21 95 char name[50]; 68f201f9061c000 Stefan Binding 2022-01-21 96 int i, ret, count; 68f201f9061c000 Stefan Binding 2022-01-21 97 68f201f9061c000 Stefan Binding 2022-01-21 @98 ret = acpi_spi_count_resources(adev); 68f201f9061c000 Stefan Binding 2022-01-21 99 if (ret < 0) 68f201f9061c000 Stefan Binding 2022-01-21 100 return ret; f3e13bbc6f5a84f Andy Shevchenko 2022-07-10 101 if (!ret) 2b5b27826a48eea Andy Shevchenko 2022-07-10 102 return -ENOENT; 68f201f9061c000 Stefan Binding 2022-01-21 103 68f201f9061c000 Stefan Binding 2022-01-21 104 count = ret; 68f201f9061c000 Stefan Binding 2022-01-21 105 68f201f9061c000 Stefan Binding 2022-01-21 106 smi->spi_devs = devm_kcalloc(dev, count, sizeof(*smi->spi_devs), GFP_KERNEL); 68f201f9061c000 Stefan Binding 2022-01-21 107 if (!smi->spi_devs) 68f201f9061c000 Stefan Binding 2022-01-21 108 return -ENOMEM; 68f201f9061c000 Stefan Binding 2022-01-21 109 68f201f9061c000 Stefan Binding 2022-01-21 110 for (i = 0; i < count && inst_array[i].type; i++) { 68f201f9061c000 Stefan Binding 2022-01-21 111 68f201f9061c000 Stefan Binding 2022-01-21 @112 spi_dev = acpi_spi_device_alloc(NULL, adev, i); 68f201f9061c000 Stefan Binding 2022-01-21 113 if (IS_ERR(spi_dev)) { 14a9aa99aca6c28 Andy Shevchenko 2022-07-10 114 ret = dev_err_probe(dev, PTR_ERR(spi_dev), "failed to allocate SPI device %s from ACPI\n", 14a9aa99aca6c28 Andy Shevchenko 2022-07-10 @115 dev_name(&adev->dev)); 68f201f9061c000 Stefan Binding 2022-01-21 116 goto error; 68f201f9061c000 Stefan Binding 2022-01-21 117 } 68f201f9061c000 Stefan Binding 2022-01-21 118 68f201f9061c000 Stefan Binding 2022-01-21 119 ctlr = spi_dev->controller; 68f201f9061c000 Stefan Binding 2022-01-21 120 68f201f9061c000 Stefan Binding 2022-01-21 121 strscpy(spi_dev->modalias, inst_array[i].type, sizeof(spi_dev->modalias)); 68f201f9061c000 Stefan Binding 2022-01-21 122 68f201f9061c000 Stefan Binding 2022-01-21 123 ret = smi_get_irq(pdev, adev, &inst_array[i]); 68f201f9061c000 Stefan Binding 2022-01-21 124 if (ret < 0) { 68f201f9061c000 Stefan Binding 2022-01-21 125 spi_dev_put(spi_dev); 68f201f9061c000 Stefan Binding 2022-01-21 126 goto error; 68f201f9061c000 Stefan Binding 2022-01-21 127 } 68f201f9061c000 Stefan Binding 2022-01-21 128 spi_dev->irq = ret; 68f201f9061c000 Stefan Binding 2022-01-21 129 68f201f9061c000 Stefan Binding 2022-01-21 130 snprintf(name, sizeof(name), "%s-%s-%s.%d", dev_name(&ctlr->dev), dev_name(dev), 68f201f9061c000 Stefan Binding 2022-01-21 131 inst_array[i].type, i); 68f201f9061c000 Stefan Binding 2022-01-21 132 spi_dev->dev.init_name = name; 68f201f9061c000 Stefan Binding 2022-01-21 133 68f201f9061c000 Stefan Binding 2022-01-21 134 ret = spi_add_device(spi_dev); 68f201f9061c000 Stefan Binding 2022-01-21 135 if (ret) { 14a9aa99aca6c28 Andy Shevchenko 2022-07-10 136 dev_err_probe(&ctlr->dev, ret, "failed to add SPI device %s from ACPI\n", 14a9aa99aca6c28 Andy Shevchenko 2022-07-10 137 dev_name(&adev->dev)); 68f201f9061c000 Stefan Binding 2022-01-21 138 spi_dev_put(spi_dev); 68f201f9061c000 Stefan Binding 2022-01-21 139 goto error; 68f201f9061c000 Stefan Binding 2022-01-21 140 } 68f201f9061c000 Stefan Binding 2022-01-21 141 68f201f9061c000 Stefan Binding 2022-01-21 142 dev_dbg(dev, "SPI device %s using chip select %u", name, spi_dev->chip_select); 68f201f9061c000 Stefan Binding 2022-01-21 143 68f201f9061c000 Stefan Binding 2022-01-21 144 smi->spi_devs[i] = spi_dev; 68f201f9061c000 Stefan Binding 2022-01-21 145 smi->spi_num++; 68f201f9061c000 Stefan Binding 2022-01-21 146 } 68f201f9061c000 Stefan Binding 2022-01-21 147 68f201f9061c000 Stefan Binding 2022-01-21 148 if (smi->spi_num < count) { 68f201f9061c000 Stefan Binding 2022-01-21 149 dev_dbg(dev, "Error finding driver, idx %d\n", i); 68f201f9061c000 Stefan Binding 2022-01-21 150 ret = -ENODEV; 68f201f9061c000 Stefan Binding 2022-01-21 151 goto error; 68f201f9061c000 Stefan Binding 2022-01-21 152 } 68f201f9061c000 Stefan Binding 2022-01-21 153 68f201f9061c000 Stefan Binding 2022-01-21 154 dev_info(dev, "Instantiated %d SPI devices.\n", smi->spi_num); 68f201f9061c000 Stefan Binding 2022-01-21 155 68f201f9061c000 Stefan Binding 2022-01-21 156 return 0; 68f201f9061c000 Stefan Binding 2022-01-21 157 error: 68f201f9061c000 Stefan Binding 2022-01-21 158 smi_devs_unregister(smi); 68f201f9061c000 Stefan Binding 2022-01-21 159 68f201f9061c000 Stefan Binding 2022-01-21 160 return ret; 35a36cbb7b1ce75 Lucas Tanure 2022-01-21 161 } 35a36cbb7b1ce75 Lucas Tanure 2022-01-21 162 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests