All of lore.kernel.org
 help / color / mirror / Atom feed
* [ljones-mfd:for-mfd-next 56/66] drivers/mfd/mfd-core.c:216:11: error: implicit declaration of function 'mfd_match_of_node_to_dev'
@ 2020-07-17 21:22 kernel test robot
  2020-07-22 18:03 ` Adding branches for testing Lee Jones
  0 siblings, 1 reply; 13+ messages in thread
From: kernel test robot @ 2020-07-17 21:22 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6435 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
head:   89e2fd3e750d33c697eff97a2c6804b735d1beb7
commit: 765f4122aee73587b62ad1c4e093d6d1d2468d75 [56/66] mfd: core: Make a best effort attempt to match devices with the correct of_nodes
config: x86_64-randconfig-a011-20200717 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        git checkout 765f4122aee73587b62ad1c4e093d6d1d2468d75
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/mfd/mfd-core.c:216:11: error: implicit declaration of function 'mfd_match_of_node_to_dev' [-Werror,-Wimplicit-function-declaration]
                                   ret = mfd_match_of_node_to_dev(pdev, np, cell);
                                         ^
   1 error generated.

vim +/mfd_match_of_node_to_dev +216 drivers/mfd/mfd-core.c

   169	
   170	static int mfd_add_device(struct device *parent, int id,
   171				  const struct mfd_cell *cell,
   172				  struct resource *mem_base,
   173				  int irq_base, struct irq_domain *domain)
   174	{
   175		struct resource *res;
   176		struct platform_device *pdev;
   177		struct device_node *np = NULL;
   178		struct mfd_of_node_entry *of_entry, *tmp;
   179		int ret = -ENOMEM;
   180		int platform_id;
   181		int r;
   182	
   183		if (id == PLATFORM_DEVID_AUTO)
   184			platform_id = id;
   185		else
   186			platform_id = id + cell->id;
   187	
   188		pdev = platform_device_alloc(cell->name, platform_id);
   189		if (!pdev)
   190			goto fail_alloc;
   191	
   192		pdev->mfd_cell = kmemdup(cell, sizeof(*cell), GFP_KERNEL);
   193		if (!pdev->mfd_cell)
   194			goto fail_device;
   195	
   196		res = kcalloc(cell->num_resources, sizeof(*res), GFP_KERNEL);
   197		if (!res)
   198			goto fail_device;
   199	
   200		pdev->dev.parent = parent;
   201		pdev->dev.type = &mfd_dev_type;
   202		pdev->dev.dma_mask = parent->dma_mask;
   203		pdev->dev.dma_parms = parent->dma_parms;
   204		pdev->dev.coherent_dma_mask = parent->coherent_dma_mask;
   205	
   206		ret = regulator_bulk_register_supply_alias(
   207				&pdev->dev, cell->parent_supplies,
   208				parent, cell->parent_supplies,
   209				cell->num_parent_supplies);
   210		if (ret < 0)
   211			goto fail_res;
   212	
   213		if (IS_ENABLED(CONFIG_OF) && parent->of_node && cell->of_compatible) {
   214			for_each_child_of_node(parent->of_node, np) {
   215				if (of_device_is_compatible(np, cell->of_compatible)) {
 > 216					ret = mfd_match_of_node_to_dev(pdev, np, cell);
   217					if (ret == -EAGAIN)
   218						continue;
   219					if (ret)
   220						goto fail_alias;
   221	
   222					break;
   223				}
   224			}
   225	
   226			if (!pdev->dev.of_node)
   227				pr_warn("%s: Failed to locate of_node [id: %d]\n",
   228					cell->name, platform_id);
   229		}
   230	
   231		mfd_acpi_add_device(cell, pdev);
   232	
   233		if (cell->pdata_size) {
   234			ret = platform_device_add_data(pdev,
   235						cell->platform_data, cell->pdata_size);
   236			if (ret)
   237				goto fail_of_entry;
   238		}
   239	
   240		if (cell->properties) {
   241			ret = platform_device_add_properties(pdev, cell->properties);
   242			if (ret)
   243				goto fail_of_entry;
   244		}
   245	
   246		for (r = 0; r < cell->num_resources; r++) {
   247			res[r].name = cell->resources[r].name;
   248			res[r].flags = cell->resources[r].flags;
   249	
   250			/* Find out base to use */
   251			if ((cell->resources[r].flags & IORESOURCE_MEM) && mem_base) {
   252				res[r].parent = mem_base;
   253				res[r].start = mem_base->start +
   254					cell->resources[r].start;
   255				res[r].end = mem_base->start +
   256					cell->resources[r].end;
   257			} else if (cell->resources[r].flags & IORESOURCE_IRQ) {
   258				if (domain) {
   259					/* Unable to create mappings for IRQ ranges. */
   260					WARN_ON(cell->resources[r].start !=
   261						cell->resources[r].end);
   262					res[r].start = res[r].end = irq_create_mapping(
   263						domain, cell->resources[r].start);
   264				} else {
   265					res[r].start = irq_base +
   266						cell->resources[r].start;
   267					res[r].end   = irq_base +
   268						cell->resources[r].end;
   269				}
   270			} else {
   271				res[r].parent = cell->resources[r].parent;
   272				res[r].start = cell->resources[r].start;
   273				res[r].end   = cell->resources[r].end;
   274			}
   275	
   276			if (!cell->ignore_resource_conflicts) {
   277				if (has_acpi_companion(&pdev->dev)) {
   278					ret = acpi_check_resource_conflict(&res[r]);
   279					if (ret)
   280						goto fail_of_entry;
   281				}
   282			}
   283		}
   284	
   285		ret = platform_device_add_resources(pdev, res, cell->num_resources);
   286		if (ret)
   287			goto fail_of_entry;
   288	
   289		ret = platform_device_add(pdev);
   290		if (ret)
   291			goto fail_of_entry;
   292	
   293		if (cell->pm_runtime_no_callbacks)
   294			pm_runtime_no_callbacks(&pdev->dev);
   295	
   296		kfree(res);
   297	
   298		return 0;
   299	
   300	fail_of_entry:
   301		list_for_each_entry_safe(of_entry, tmp, &mfd_of_node_list, list)
   302			if (of_entry->dev == &pdev->dev) {
   303				list_del(&of_entry->list);
   304				kfree(of_entry);
   305			}
   306	fail_alias:
   307		regulator_bulk_unregister_supply_alias(&pdev->dev,
   308						       cell->parent_supplies,
   309						       cell->num_parent_supplies);
   310	fail_res:
   311		kfree(res);
   312	fail_device:
   313		platform_device_put(pdev);
   314	fail_alloc:
   315		return ret;
   316	}
   317	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26112 bytes --]

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

end of thread, other threads:[~2020-07-30  1:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20200723035548.GA363815@ubuntu-n2-xlarge-x86>
2020-07-23  6:32 ` Adding branches for testing Lee Jones
2020-07-23  6:38   ` Rong Chen
2020-07-23  6:46     ` Lee Jones
2020-07-23  7:58       ` Rong Chen
2020-07-23  8:08         ` Lee Jones
2020-07-28  9:25           ` Lee Jones
2020-07-29  9:09             ` Rong Chen
2020-07-29 10:13               ` Lee Jones
2020-07-30  1:21                 ` Rong Chen
2020-07-23  7:27     ` Lee Jones
2020-07-23  7:57       ` Rong Chen
2020-07-23  8:09         ` Lee Jones
2020-07-17 21:22 [ljones-mfd:for-mfd-next 56/66] drivers/mfd/mfd-core.c:216:11: error: implicit declaration of function 'mfd_match_of_node_to_dev' kernel test robot
2020-07-22 18:03 ` Adding branches for testing Lee Jones

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.