public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [morimoto:renesas-lts/v6.18.0-2025-12-01-x5h-ironhide 22/36] drivers/mailbox/mailbox.c:416:31: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'?
@ 2025-12-01 19:40 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2025-12-01 19:40 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/morimoto/linux renesas-lts/v6.18.0-2025-12-01-x5h-ironhide
head:   bac3dde4cf6e6a52813b70720d6fbd385a9cb4c0
commit: a38f29304a2545aeef3d38033e6a76fea04178d4 [22/36] mailbox: add new {fw/of}_xlate_with_name()
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20251201/202512012044.usQkkboJ-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251201/202512012044.usQkkboJ-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/202512012044.usQkkboJ-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/mailbox/mailbox.c:416:31: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'?
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                      ^
   include/linux/cleanup.h:213:33: note: expanded from macro '__free'
     213 | #define __free(_name)   __cleanup(__free_##_name)
         |                                   ^
   <scratch space>:100:1: note: expanded from here
     100 | __free_kfree
         | ^
   include/linux/gfp.h:382:13: note: '__free_pages' declared here
     382 | extern void __free_pages(struct page *page, unsigned int order);
         |             ^
>> drivers/mailbox/mailbox.c:416:31: error: 'cleanup' function '__free_pages' must take 1 parameter
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                      ^
   include/linux/cleanup.h:213:33: note: expanded from macro '__free'
     213 | #define __free(_name)   __cleanup(__free_##_name)
         |                                   ^
   <scratch space>:100:1: note: expanded from here
     100 | __free_kfree
         | ^
   drivers/mailbox/mailbox.c:416:47: error: call to undeclared function 'kcalloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                                      ^
>> drivers/mailbox/mailbox.c:416:15: error: incompatible integer to pointer conversion initializing 'const char **' with an expression of type 'int' [-Wint-conversion]
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                      ^                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   4 errors generated.


vim +416 drivers/mailbox/mailbox.c

   367	
   368	/**
   369	 * mbox_request_channel - Request a mailbox channel.
   370	 * @cl: Identity of the client requesting the channel.
   371	 * @index: Index of mailbox specifier in 'mboxes' property.
   372	 *
   373	 * The Client specifies its requirements and capabilities while asking for
   374	 * a mailbox channel. It can't be called from atomic context.
   375	 * The channel is exclusively allocated and can't be used by another
   376	 * client before the owner calls mbox_free_channel.
   377	 * After assignment, any packet received on this channel will be
   378	 * handed over to the client via the 'rx_callback'.
   379	 * The framework holds reference to the client, so the mbox_client
   380	 * structure shouldn't be modified until the mbox_free_channel returns.
   381	 *
   382	 * Return: Pointer to the channel assigned to the client if successful.
   383	 *		ERR_PTR for request failure.
   384	 */
   385	struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
   386	{
   387		struct fwnode_reference_args fwspec;
   388		struct fwnode_handle *fwnode;
   389		struct mbox_controller *mbox;
   390		struct of_phandle_args spec;
   391		struct mbox_chan *chan;
   392		struct device *dev;
   393		const char *mbox_name;
   394		unsigned int i;
   395		int ret;
   396	
   397		dev = cl->dev;
   398		if (!dev) {
   399			pr_debug("No owner device\n");
   400			return ERR_PTR(-ENODEV);
   401		}
   402	
   403		fwnode = dev_fwnode(dev);
   404		if (!fwnode) {
   405			dev_dbg(dev, "No owner fwnode\n");
   406			return ERR_PTR(-ENODEV);
   407		}
   408	
   409		ret = fwnode_property_get_reference_args(fwnode, "mboxes", "#mbox-cells",
   410							 0, index, &fwspec);
   411		if (ret) {
   412			dev_err(dev, "%s: can't parse \"%s\" property\n", __func__, "mboxes");
   413			return ERR_PTR(ret);
   414		}
   415	
 > 416		const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
   417		if (!mbox_name_array)
   418			return ERR_PTR(-ENOMEM);
   419	
   420		mbox_name = NULL;
   421		ret = fwnode_property_read_string_array(fwnode, "mbox-names", mbox_name_array, index + 1);
   422		if (ret > 0)
   423			mbox_name = mbox_name_array[index];
   424	
   425		spec.np = to_of_node(fwspec.fwnode);
   426		spec.args_count = fwspec.nargs;
   427		for (i = 0; i < spec.args_count; i++)
   428			spec.args[i] = fwspec.args[i];
   429	
   430		scoped_guard(mutex, &con_mutex) {
   431			chan = ERR_PTR(-EPROBE_DEFER);
   432			list_for_each_entry(mbox, &mbox_cons, node) {
   433				if (device_match_fwnode(mbox->dev, fwspec.fwnode)) {
   434					if (mbox_name && mbox->fw_xlate_with_name)
   435						chan = mbox->fw_xlate_with_name(mbox, &fwspec, mbox_name);
   436					else if (mbox->fw_xlate)
   437						chan = mbox->fw_xlate(mbox, &fwspec);
   438					else if (mbox_name && mbox->of_xlate_with_name)
   439						chan = mbox->of_xlate_with_name(mbox, &spec, mbox_name);
   440					else if (mbox->of_xlate)
   441						chan = mbox->of_xlate(mbox, &spec);
   442	
   443					if (!IS_ERR(chan))
   444						break;
   445				}
   446			}
   447	
   448			fwnode_handle_put(fwspec.fwnode);
   449	
   450			if (IS_ERR(chan))
   451				return chan;
   452	
   453			ret = __mbox_bind_client(chan, cl);
   454			if (ret)
   455				chan = ERR_PTR(ret);
   456		}
   457	
   458		return chan;
   459	}
   460	EXPORT_SYMBOL_GPL(mbox_request_channel);
   461	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [morimoto:renesas-lts/v6.18.0-2025-12-01-x5h-ironhide 22/36] drivers/mailbox/mailbox.c:416:31: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'?
@ 2025-12-02 22:38 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2025-12-02 22:38 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/morimoto/linux renesas-lts/v6.18.0-2025-12-01-x5h-ironhide
head:   bac3dde4cf6e6a52813b70720d6fbd385a9cb4c0
commit: a38f29304a2545aeef3d38033e6a76fea04178d4 [22/36] mailbox: add new {fw/of}_xlate_with_name()
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251203/202512030638.sri4f2Ie-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251203/202512030638.sri4f2Ie-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/202512030638.sri4f2Ie-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/mailbox/mailbox.c:416:31: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'?
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                      ^
   include/linux/cleanup.h:213:33: note: expanded from macro '__free'
     213 | #define __free(_name)   __cleanup(__free_##_name)
         |                                   ^
   <scratch space>:55:1: note: expanded from here
      55 | __free_kfree
         | ^
   include/linux/gfp.h:382:13: note: '__free_pages' declared here
     382 | extern void __free_pages(struct page *page, unsigned int order);
         |             ^
>> drivers/mailbox/mailbox.c:416:31: error: 'cleanup' function '__free_pages' must take 1 parameter
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                      ^
   include/linux/cleanup.h:213:33: note: expanded from macro '__free'
     213 | #define __free(_name)   __cleanup(__free_##_name)
         |                                   ^
   <scratch space>:55:1: note: expanded from here
      55 | __free_kfree
         | ^
   drivers/mailbox/mailbox.c:416:47: error: call to undeclared function 'kcalloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                                                      ^
>> drivers/mailbox/mailbox.c:416:15: error: incompatible integer to pointer conversion initializing 'const char **' with an expression of type 'int' [-Wint-conversion]
     416 |         const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
         |                      ^                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   4 errors generated.


vim +416 drivers/mailbox/mailbox.c

   367	
   368	/**
   369	 * mbox_request_channel - Request a mailbox channel.
   370	 * @cl: Identity of the client requesting the channel.
   371	 * @index: Index of mailbox specifier in 'mboxes' property.
   372	 *
   373	 * The Client specifies its requirements and capabilities while asking for
   374	 * a mailbox channel. It can't be called from atomic context.
   375	 * The channel is exclusively allocated and can't be used by another
   376	 * client before the owner calls mbox_free_channel.
   377	 * After assignment, any packet received on this channel will be
   378	 * handed over to the client via the 'rx_callback'.
   379	 * The framework holds reference to the client, so the mbox_client
   380	 * structure shouldn't be modified until the mbox_free_channel returns.
   381	 *
   382	 * Return: Pointer to the channel assigned to the client if successful.
   383	 *		ERR_PTR for request failure.
   384	 */
   385	struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
   386	{
   387		struct fwnode_reference_args fwspec;
   388		struct fwnode_handle *fwnode;
   389		struct mbox_controller *mbox;
   390		struct of_phandle_args spec;
   391		struct mbox_chan *chan;
   392		struct device *dev;
   393		const char *mbox_name;
   394		unsigned int i;
   395		int ret;
   396	
   397		dev = cl->dev;
   398		if (!dev) {
   399			pr_debug("No owner device\n");
   400			return ERR_PTR(-ENODEV);
   401		}
   402	
   403		fwnode = dev_fwnode(dev);
   404		if (!fwnode) {
   405			dev_dbg(dev, "No owner fwnode\n");
   406			return ERR_PTR(-ENODEV);
   407		}
   408	
   409		ret = fwnode_property_get_reference_args(fwnode, "mboxes", "#mbox-cells",
   410							 0, index, &fwspec);
   411		if (ret) {
   412			dev_err(dev, "%s: can't parse \"%s\" property\n", __func__, "mboxes");
   413			return ERR_PTR(ret);
   414		}
   415	
 > 416		const char **mbox_name_array __free(kfree) = kcalloc(index + 1, sizeof(char *), GFP_KERNEL);
   417		if (!mbox_name_array)
   418			return ERR_PTR(-ENOMEM);
   419	
   420		mbox_name = NULL;
   421		ret = fwnode_property_read_string_array(fwnode, "mbox-names", mbox_name_array, index + 1);
   422		if (ret > 0)
   423			mbox_name = mbox_name_array[index];
   424	
   425		spec.np = to_of_node(fwspec.fwnode);
   426		spec.args_count = fwspec.nargs;
   427		for (i = 0; i < spec.args_count; i++)
   428			spec.args[i] = fwspec.args[i];
   429	
   430		scoped_guard(mutex, &con_mutex) {
   431			chan = ERR_PTR(-EPROBE_DEFER);
   432			list_for_each_entry(mbox, &mbox_cons, node) {
   433				if (device_match_fwnode(mbox->dev, fwspec.fwnode)) {
   434					if (mbox_name && mbox->fw_xlate_with_name)
   435						chan = mbox->fw_xlate_with_name(mbox, &fwspec, mbox_name);
   436					else if (mbox->fw_xlate)
   437						chan = mbox->fw_xlate(mbox, &fwspec);
   438					else if (mbox_name && mbox->of_xlate_with_name)
   439						chan = mbox->of_xlate_with_name(mbox, &spec, mbox_name);
   440					else if (mbox->of_xlate)
   441						chan = mbox->of_xlate(mbox, &spec);
   442	
   443					if (!IS_ERR(chan))
   444						break;
   445				}
   446			}
   447	
   448			fwnode_handle_put(fwspec.fwnode);
   449	
   450			if (IS_ERR(chan))
   451				return chan;
   452	
   453			ret = __mbox_bind_client(chan, cl);
   454			if (ret)
   455				chan = ERR_PTR(ret);
   456		}
   457	
   458		return chan;
   459	}
   460	EXPORT_SYMBOL_GPL(mbox_request_channel);
   461	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-12-02 22:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-02 22:38 [morimoto:renesas-lts/v6.18.0-2025-12-01-x5h-ironhide 22/36] drivers/mailbox/mailbox.c:416:31: error: use of undeclared identifier '__free_kfree'; did you mean '__free_pages'? kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2025-12-01 19:40 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox