Hi Corentin, I love your patch! Yet something to improve: [auto build test ERROR on broonie-regulator/for-next] [also build test ERROR on sunxi/sunxi/for-next linus/master v5.18 next-20220520] [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] url: https://github.com/intel-lab-lkp/linux/commits/Corentin-Labbe/arm64-add-ethernet-to-orange-pi-3/20220523-133344 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next config: i386-randconfig-a012-20220523 (https://download.01.org/0day-ci/archive/20220523/202205231748.IZoXf2Sf-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 768a1ca5eccb678947f4155e38a5f5744dcefb56) 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 # https://github.com/intel-lab-lkp/linux/commit/179be86f748a2cce87423bb16f4f967c97bf5d9b git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Corentin-Labbe/arm64-add-ethernet-to-orange-pi-3/20220523-133344 git checkout 179be86f748a2cce87423bb16f4f967c97bf5d9b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): >> drivers/regulator/core.c:4870:2: error: call to undeclared function 'for_each_property_of_node'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] for_each_property_of_node(np, prop) { ^ >> drivers/regulator/core.c:4870:37: error: expected ';' after expression for_each_property_of_node(np, prop) { ^ ; >> drivers/regulator/core.c:4873:4: error: 'continue' statement not in loop statement continue; ^ drivers/regulator/core.c:4876:4: error: 'continue' statement not in loop statement continue; ^ drivers/regulator/core.c:4887:4: error: 'continue' statement not in loop statement continue; ^ 5 errors generated. vim +/for_each_property_of_node +4870 drivers/regulator/core.c 4839 4840 /* 4841 * regulator_bulk_get_all - get multiple regulator consumers 4842 * 4843 * @dev: Device to supply 4844 * @np: device node to search for consumers 4845 * @consumers: Configuration of consumers; clients are stored here. 4846 * 4847 * @return number of regulators on success, an errno on failure. 4848 * 4849 * This helper function allows drivers to get several regulator 4850 * consumers in one operation. If any of the regulators cannot be 4851 * acquired then any regulators that were allocated will be freed 4852 * before returning to the caller. 4853 */ 4854 int regulator_bulk_get_all(struct device *dev, struct device_node *np, 4855 struct regulator_bulk_data **consumers) 4856 { 4857 int num_consumers = 0; 4858 struct regulator *tmp; 4859 struct property *prop; 4860 int i, n = 0, ret; 4861 char name[64]; 4862 4863 *consumers = NULL; 4864 4865 /* 4866 * first pass: get numbers of xxx-supply 4867 * second pass: fill consumers 4868 * */ 4869 restart: > 4870 for_each_property_of_node(np, prop) { 4871 i = is_supply_name(prop->name); 4872 if (i == 0) > 4873 continue; 4874 if (!*consumers) { 4875 num_consumers++; 4876 continue; 4877 } else { 4878 memcpy(name, prop->name, i); 4879 name[i] = '\0'; 4880 tmp = regulator_get(dev, name); 4881 if (!tmp) { 4882 ret = -EINVAL; 4883 goto error; 4884 } 4885 (*consumers)[n].consumer = tmp; 4886 n++; 4887 continue; 4888 } 4889 } 4890 if (*consumers) 4891 return num_consumers; 4892 if (num_consumers == 0) 4893 return 0; 4894 *consumers = kmalloc_array(num_consumers, 4895 sizeof(struct regulator_bulk_data), 4896 GFP_KERNEL); 4897 if (!*consumers) 4898 return -ENOMEM; 4899 goto restart; 4900 4901 error: 4902 while (--n >= 0) 4903 regulator_put(consumers[n]->consumer); 4904 return ret; 4905 } 4906 EXPORT_SYMBOL_GPL(regulator_bulk_get_all); 4907 -- 0-DAY CI Kernel Test Service https://01.org/lkp