From: kernel test robot <lkp@intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>,
broonie@kernel.org, brgl@bgdev.pl, linus.walleij@linaro.org
Cc: oe-kbuild-all@lists.linux.dev, andy@kernel.org,
p.zabel@pengutronix.de, linux-gpio@vger.kernel.org,
linux-spi@vger.kernel.org, bartosz.golaszewski@linaro.org,
linux-kernel@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH] spi: cs42l43: Use actual ACPI firmware node for chip selects
Date: Thu, 20 Nov 2025 17:23:56 +0800 [thread overview]
Message-ID: <202511201700.S7ieteHi-lkp@intel.com> (raw)
In-Reply-To: <20251119164017.1115791-1-ckeepax@opensource.cirrus.com>
Hi Charles,
kernel test robot noticed the following build errors:
[auto build test ERROR on broonie-spi/for-next]
[also build test ERROR on linus/master v6.18-rc6 next-20251119]
[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/Charles-Keepax/spi-cs42l43-Use-actual-ACPI-firmware-node-for-chip-selects/20251120-005808
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
patch link: https://lore.kernel.org/r/20251119164017.1115791-1-ckeepax%40opensource.cirrus.com
patch subject: [PATCH] spi: cs42l43: Use actual ACPI firmware node for chip selects
config: sparc-randconfig-6002-20251120 (https://download.01.org/0day-ci/archive/20251120/202511201700.S7ieteHi-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251120/202511201700.S7ieteHi-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511201700.S7ieteHi-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/spi/spi-cs42l43.c: In function 'cs42l43_spi_probe':
>> drivers/spi/spi-cs42l43.c:410:25: error: 'struct software_node_ref_args' has no member named 'fwnode'; did you mean 'node'?
410 | args[0].fwnode = fwnode;
| ^~~~~~
| node
vim +410 drivers/spi/spi-cs42l43.c
322
323 static int cs42l43_spi_probe(struct platform_device *pdev)
324 {
325 struct cs42l43 *cs42l43 = dev_get_drvdata(pdev->dev.parent);
326 struct cs42l43_spi *priv;
327 struct fwnode_handle *fwnode = dev_fwnode(cs42l43->dev);
328 struct fwnode_handle *xu_fwnode __free(fwnode_handle) = cs42l43_find_xu_node(fwnode);
329 int nsidecars = 0;
330 int spkid = -EINVAL;
331 int ret;
332
333 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
334 if (!priv)
335 return -ENOMEM;
336
337 priv->ctlr = devm_spi_alloc_host(&pdev->dev, sizeof(*priv->ctlr));
338 if (!priv->ctlr)
339 return -ENOMEM;
340
341 spi_controller_set_devdata(priv->ctlr, priv);
342
343 priv->dev = &pdev->dev;
344 priv->regmap = cs42l43->regmap;
345
346 priv->ctlr->prepare_message = cs42l43_prepare_message;
347 priv->ctlr->prepare_transfer_hardware = cs42l43_prepare_transfer_hardware;
348 priv->ctlr->unprepare_transfer_hardware = cs42l43_unprepare_transfer_hardware;
349 priv->ctlr->transfer_one = cs42l43_transfer_one;
350 priv->ctlr->set_cs = cs42l43_set_cs;
351 priv->ctlr->max_transfer_size = cs42l43_spi_max_length;
352 priv->ctlr->mode_bits = SPI_3WIRE | SPI_MODE_X_MASK;
353 priv->ctlr->flags = SPI_CONTROLLER_HALF_DUPLEX;
354 priv->ctlr->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16) |
355 SPI_BPW_MASK(32);
356 priv->ctlr->min_speed_hz = CS42L43_SPI_ROOT_HZ /
357 cs42l43_clock_divs[ARRAY_SIZE(cs42l43_clock_divs) - 1];
358 priv->ctlr->max_speed_hz = CS42L43_SPI_ROOT_HZ / cs42l43_clock_divs[0];
359 priv->ctlr->use_gpio_descriptors = true;
360 priv->ctlr->auto_runtime_pm = true;
361
362 ret = devm_pm_runtime_enable(priv->dev);
363 if (ret)
364 return ret;
365
366 pm_runtime_idle(priv->dev);
367
368 regmap_write(priv->regmap, CS42L43_TRAN_CONFIG6, CS42L43_FIFO_SIZE - 1);
369 regmap_write(priv->regmap, CS42L43_TRAN_CONFIG7, CS42L43_FIFO_SIZE - 1);
370
371 // Disable Watchdog timer and enable stall
372 regmap_write(priv->regmap, CS42L43_SPI_CONFIG3, 0);
373 regmap_write(priv->regmap, CS42L43_SPI_CONFIG4, CS42L43_SPI_STALL_ENA_MASK);
374
375 if (is_of_node(fwnode)) {
376 fwnode = fwnode_get_named_child_node(fwnode, "spi");
377 ret = devm_add_action_or_reset(priv->dev, cs42l43_release_of_node, fwnode);
378 if (ret)
379 return ret;
380 }
381
382 fwnode_property_read_u32(xu_fwnode, "01fa-sidecar-instances", &nsidecars);
383
384 if (nsidecars) {
385 struct software_node_ref_args *args;
386 struct property_entry *props;
387
388 ret = fwnode_property_read_u32(xu_fwnode, "01fa-spk-id-val", &spkid);
389 if (!ret) {
390 dev_dbg(priv->dev, "01fa-spk-id-val = %d\n", spkid);
391 } else if (ret != -EINVAL) {
392 return dev_err_probe(priv->dev, ret, "Failed to get spk-id-val\n");
393 } else {
394 ret = cs42l43_get_speaker_id_gpios(priv, &spkid);
395 if (ret < 0)
396 return dev_err_probe(priv->dev, ret,
397 "Failed to get spk-id-gpios\n");
398 }
399
400 props = devm_kmemdup(priv->dev, cs42l43_cs_props, sizeof(cs42l43_cs_props),
401 GFP_KERNEL);
402 if (!props)
403 return -ENOMEM;
404
405 args = devm_kmemdup(priv->dev, cs42l43_cs_refs, sizeof(cs42l43_cs_refs),
406 GFP_KERNEL);
407 if (!args)
408 return -ENOMEM;
409
> 410 args[0].fwnode = fwnode;
411 props->pointer = args;
412
413 ret = device_create_managed_software_node(&priv->ctlr->dev, props, NULL);
414 if (ret)
415 return dev_err_probe(priv->dev, ret, "Failed to add swnode\n");
416 } else {
417 device_set_node(&priv->ctlr->dev, fwnode);
418 }
419
420 ret = devm_spi_register_controller(priv->dev, priv->ctlr);
421 if (ret)
422 return dev_err_probe(priv->dev, ret,
423 "Failed to register SPI controller\n");
424
425 if (nsidecars) {
426 struct spi_board_info *ampl_info;
427 struct spi_board_info *ampr_info;
428
429 ampl_info = cs42l43_create_bridge_amp(priv, "cs35l56-left", 0, spkid);
430 if (!ampl_info)
431 return -ENOMEM;
432
433 ampr_info = cs42l43_create_bridge_amp(priv, "cs35l56-right", 1, spkid);
434 if (!ampr_info)
435 return -ENOMEM;
436
437 if (!spi_new_device(priv->ctlr, ampl_info))
438 return dev_err_probe(priv->dev, -ENODEV,
439 "Failed to create left amp slave\n");
440
441 if (!spi_new_device(priv->ctlr, ampr_info))
442 return dev_err_probe(priv->dev, -ENODEV,
443 "Failed to create right amp slave\n");
444 }
445
446 return 0;
447 }
448
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-11-20 9:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 16:40 [PATCH] spi: cs42l43: Use actual ACPI firmware node for chip selects Charles Keepax
2025-11-19 16:45 ` Charles Keepax
2025-11-19 16:51 ` Andy Shevchenko
2025-11-19 16:49 ` Andy Shevchenko
2025-11-19 17:04 ` Charles Keepax
2025-11-20 9:23 ` kernel test robot [this message]
2025-11-20 9:29 ` Bartosz Golaszewski
2025-11-20 10:06 ` Charles Keepax
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202511201700.S7ieteHi-lkp@intel.com \
--to=lkp@intel.com \
--cc=andy@kernel.org \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=p.zabel@pengutronix.de \
--cc=patches@opensource.cirrus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.