Re: [PATCH 3/8] net: stmmac: Introduce Qualcomm IPQ50xx DWMAC driver

From: kernel test robot
Date: Wed Jan 24 2024 - 00:55:16 EST


Hi Ziyang,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on clk/clk-next pza/reset/next linus/master v6.8-rc1 next-20240123]
[cannot apply to pza/imx-drm/next]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Ziyang-Huang/net-phy-Introduce-Qualcomm-IPQ5018-internal-PHY-driver/20240121-204840
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/TYZPR01MB5556B8833322A83632709631C9762%40TYZPR01MB5556.apcprd01.prod.exchangelabs.com
patch subject: [PATCH 3/8] net: stmmac: Introduce Qualcomm IPQ50xx DWMAC driver
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240124/202401241342.SL4CiC8m-lkp@xxxxxxxxx/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project a31a60074717fc40887cfe132b77eec93bedd307)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240124/202401241342.SL4CiC8m-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401241342.SL4CiC8m-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/net/ethernet/stmicro/stmmac/dwmac-ipq50xx.c:94:13: error: call to undeclared function 'stmmac_probe_config_dt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
94 | plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq50xx.c:94:13: note: did you mean 'devm_stmmac_probe_config_dt'?
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.h:15:1: note: 'devm_stmmac_probe_config_dt' declared here
15 | devm_stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac);
| ^
>> drivers/net/ethernet/stmicro/stmmac/dwmac-ipq50xx.c:94:11: error: incompatible integer to pointer conversion assigning to 'struct plat_stmmacenet_data *' from 'int' [-Wint-conversion]
94 | plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.


vim +/stmmac_probe_config_dt +94 drivers/net/ethernet/stmicro/stmmac/dwmac-ipq50xx.c

80
81 static int ipq50xx_gmac_probe(struct platform_device *pdev)
82 {
83 struct device *dev = &pdev->dev;
84 struct stmmac_resources stmmac_res;
85 struct plat_stmmacenet_data *plat_dat;
86 struct ipq50xx_gmac *gmac;
87 int ret;
88
89 ret = stmmac_get_platform_resources(pdev, &stmmac_res);
90 if (ret)
91 return dev_err_probe(dev, ret,
92 "failed to get stmmac platform resources\n");
93
> 94 plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
95 if (IS_ERR_OR_NULL(plat_dat))
96 return dev_err_probe(dev, PTR_ERR(plat_dat),
97 "failed to parse stmmac dt parameters\n");
98
99 gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL);
100 if (!gmac)
101 return dev_err_probe(dev, -ENOMEM,
102 "failed to allocate priv\n");
103
104 gmac->dev = dev;
105
106 memcpy(gmac->clks, ipq50xx_gmac_clks, sizeof(gmac->clks));
107 ret = devm_clk_bulk_get_optional(dev, ARRAY_SIZE(gmac->clks), gmac->clks);
108 if (ret)
109 return dev_err_probe(dev, ret,
110 "failed to acquire clocks\n");
111
112 ret = clk_bulk_prepare_enable(ARRAY_SIZE(gmac->clks), gmac->clks);
113 if (ret)
114 return dev_err_probe(dev, ret,
115 "failed to enable clocks\n");
116
117 gmac->rst = devm_reset_control_array_get_exclusive(dev);
118 if (IS_ERR_OR_NULL(gmac->rst))
119 return dev_err_probe(dev, PTR_ERR(gmac->rst),
120 "failed to acquire reset\n");
121
122 ret = reset_control_reset(gmac->rst);
123 if (ret)
124 return dev_err_probe(dev, ret,
125 "failed to reset\n");
126
127 gmac->uniphy = devm_phy_optional_get(dev, "uniphy");
128 if (IS_ERR(gmac->uniphy))
129 return dev_err_probe(dev, PTR_ERR(gmac->uniphy),
130 "failed to acquire uniphy\n");
131
132 plat_dat->bsp_priv = gmac;
133 plat_dat->serdes_powerup = ipq50xx_gmac_powerup;
134 plat_dat->fix_mac_speed = ipq50xx_gmac_fix_speed;
135
136 return stmmac_dvr_probe(dev, plat_dat, &stmmac_res);
137 }
138

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