Re: [PATCH v2 8/8] ASoC: cs35l56: Add driver for Cirrus Logic CS35L56

From: kernel test robot
Date: Thu Mar 16 2023 - 23:36:04 EST


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