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; 14+ 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] 14+ messages in thread
[parent not found: <20200723035548.GA363815@ubuntu-n2-xlarge-x86>]

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

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
     [not found] <20200723035548.GA363815@ubuntu-n2-xlarge-x86>
2020-07-23  6:32 ` 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

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.