All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.