Re: [PATCH] of_device: removed #include that caused a recursion in included headers

From: kbuild test robot
Date: Mon Apr 13 2020 - 19:03:54 EST


Hi Hadar,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on stm32/stm32-next]
[also build test ERROR on sunxi/sunxi/for-next tegra/for-next linus/master v5.7-rc1 next-20200413]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Hadar-Gat/of_device-removed-include-that-caused-a-recursion-in-included-headers/20200414-032638
base: https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next
config: arm-multi_v5_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/bus/imx-weim.c: In function 'weim_parse_dt':
>> drivers/bus/imx-weim.c:227:9: error: implicit declaration of function 'of_platform_default_populate' [-Werror=implicit-function-declaration]
227 | ret = of_platform_default_populate(pdev->dev.of_node,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/pinctrl/freescale/pinctrl-imx1-core.c: In function 'imx1_pinctrl_core_probe':
>> drivers/pinctrl/freescale/pinctrl-imx1-core.c:639:8: error: implicit declaration of function 'of_platform_populate' [-Werror=implicit-function-declaration]
639 | ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/of_platform_default_populate +227 drivers/bus/imx-weim.c

85bf6d4e4b100e Huang Shijie 2013-05-28 189
4a92f07816ba30 Sascha Hauer 2019-08-14 190 static int weim_parse_dt(struct platform_device *pdev, void __iomem *base)
85bf6d4e4b100e Huang Shijie 2013-05-28 191 {
3f98b6baad63b1 Alexander Shiyan 2013-06-29 192 const struct of_device_id *of_id = of_match_device(weim_id_table,
3f98b6baad63b1 Alexander Shiyan 2013-06-29 193 &pdev->dev);
3f98b6baad63b1 Alexander Shiyan 2013-06-29 194 const struct imx_weim_devtype *devtype = of_id->data;
85bf6d4e4b100e Huang Shijie 2013-05-28 195 struct device_node *child;
52c47b63412b09 Alison Chaiken 2015-02-18 196 int ret, have_child = 0;
c7995bcb36ef61 Sven Van Asbroeck 2018-12-17 197 struct cs_timing_state ts = {};
77266e722feabb Sven Van Asbroeck 2019-07-12 198 u32 reg;
85bf6d4e4b100e Huang Shijie 2013-05-28 199
8d9ee21e98205e Shawn Guo 2014-02-11 200 if (devtype == &imx50_weim_devtype) {
8d9ee21e98205e Shawn Guo 2014-02-11 201 ret = imx_weim_gpr_setup(pdev);
8d9ee21e98205e Shawn Guo 2014-02-11 202 if (ret)
8d9ee21e98205e Shawn Guo 2014-02-11 203 return ret;
8d9ee21e98205e Shawn Guo 2014-02-11 204 }
8d9ee21e98205e Shawn Guo 2014-02-11 205
77266e722feabb Sven Van Asbroeck 2019-07-12 206 if (of_property_read_bool(pdev->dev.of_node, "fsl,burst-clk-enable")) {
77266e722feabb Sven Van Asbroeck 2019-07-12 207 if (devtype->wcr_bcm) {
77266e722feabb Sven Van Asbroeck 2019-07-12 208 reg = readl(base + devtype->wcr_offset);
77266e722feabb Sven Van Asbroeck 2019-07-12 209 writel(reg | devtype->wcr_bcm,
77266e722feabb Sven Van Asbroeck 2019-07-12 210 base + devtype->wcr_offset);
77266e722feabb Sven Van Asbroeck 2019-07-12 211 } else {
77266e722feabb Sven Van Asbroeck 2019-07-12 212 dev_err(&pdev->dev, "burst clk mode not supported.\n");
77266e722feabb Sven Van Asbroeck 2019-07-12 213 return -EINVAL;
77266e722feabb Sven Van Asbroeck 2019-07-12 214 }
77266e722feabb Sven Van Asbroeck 2019-07-12 215 }
77266e722feabb Sven Van Asbroeck 2019-07-12 216
33b96d2c957921 Fabio Estevam 2016-02-22 217 for_each_available_child_of_node(pdev->dev.of_node, child) {
c7995bcb36ef61 Sven Van Asbroeck 2018-12-17 218 ret = weim_timing_setup(&pdev->dev, child, base, devtype, &ts);
52c47b63412b09 Alison Chaiken 2015-02-18 219 if (ret)
9c0982d809fd81 Rob Herring 2017-07-18 220 dev_warn(&pdev->dev, "%pOF set timing failed.\n",
9c0982d809fd81 Rob Herring 2017-07-18 221 child);
52c47b63412b09 Alison Chaiken 2015-02-18 222 else
52c47b63412b09 Alison Chaiken 2015-02-18 223 have_child = 1;
85bf6d4e4b100e Huang Shijie 2013-05-28 224 }
85bf6d4e4b100e Huang Shijie 2013-05-28 225
52c47b63412b09 Alison Chaiken 2015-02-18 226 if (have_child)
39ec8d3809fdf5 Kefeng Wang 2016-06-01 @227 ret = of_platform_default_populate(pdev->dev.of_node,
26651c4376454b Liu Ying 2014-07-04 228 NULL, &pdev->dev);
85bf6d4e4b100e Huang Shijie 2013-05-28 229 if (ret)
9c0982d809fd81 Rob Herring 2017-07-18 230 dev_err(&pdev->dev, "%pOF fail to create devices.\n",
9c0982d809fd81 Rob Herring 2017-07-18 231 pdev->dev.of_node);
85bf6d4e4b100e Huang Shijie 2013-05-28 232 return ret;
85bf6d4e4b100e Huang Shijie 2013-05-28 233 }
85bf6d4e4b100e Huang Shijie 2013-05-28 234

:::::: The code at line 227 was first introduced by commit
:::::: 39ec8d3809fdf5228f9cb9fa3d3f2bfb4ee57956 bus: imx-weim: use of_platform_default_populate() to populate default bus

:::::: TO: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>
:::::: CC: Rob Herring <robh@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip