Hi Christian, kernel test robot noticed the following build errors: [auto build test ERROR on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Christian-Marangi/dt-bindings-nvmem-Document-support-for-Airoha-AN8855-Switch-EFUSE/20241208-082533 base: net-next/main patch link: https://lore.kernel.org/r/20241208002105.18074-9-ansuelsmth%40gmail.com patch subject: [net-next PATCH v10 8/9] net: dsa: Add Airoha AN8855 5-Port Gigabit DSA Switch driver config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20241208/202412081038.lJvmpuB2-lkp@xxxxxxxxx/config) compiler: sh4-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241208/202412081038.lJvmpuB2-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/202412081038.lJvmpuB2-lkp@xxxxxxxxx/ All error/warnings (new ones prefixed by >>): drivers/net/dsa/an8855.c: In function 'an8855_switch_probe': >> drivers/net/dsa/an8855.c:2227:34: error: invalid use of undefined type 'struct platform_device' 2227 | priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); | ^~ drivers/net/dsa/an8855.c:2231:26: error: invalid use of undefined type 'struct platform_device' 2231 | priv->dev = &pdev->dev; | ^~ drivers/net/dsa/an8855.c: In function 'an8855_switch_remove': drivers/net/dsa/an8855.c:2282:57: error: invalid use of undefined type 'struct platform_device' 2282 | struct an8855_priv *priv = dev_get_drvdata(&pdev->dev); | ^~ drivers/net/dsa/an8855.c: At top level: >> drivers/net/dsa/an8855.c:2295:15: error: variable 'an8855_switch_driver' has initializer but incomplete type 2295 | static struct platform_driver an8855_switch_driver = { | ^~~~~~~~~~~~~~~ >> drivers/net/dsa/an8855.c:2296:10: error: 'struct platform_driver' has no member named 'probe' 2296 | .probe = an8855_switch_probe, | ^~~~~ >> drivers/net/dsa/an8855.c:2296:18: warning: excess elements in struct initializer 2296 | .probe = an8855_switch_probe, | ^~~~~~~~~~~~~~~~~~~ drivers/net/dsa/an8855.c:2296:18: note: (near initialization for 'an8855_switch_driver') >> drivers/net/dsa/an8855.c:2297:10: error: 'struct platform_driver' has no member named 'remove' 2297 | .remove = an8855_switch_remove, | ^~~~~~ drivers/net/dsa/an8855.c:2297:19: warning: excess elements in struct initializer 2297 | .remove = an8855_switch_remove, | ^~~~~~~~~~~~~~~~~~~~ drivers/net/dsa/an8855.c:2297:19: note: (near initialization for 'an8855_switch_driver') >> drivers/net/dsa/an8855.c:2298:10: error: 'struct platform_driver' has no member named 'driver' 2298 | .driver = { | ^~~~~~ >> drivers/net/dsa/an8855.c:2298:19: error: extra brace group at end of initializer 2298 | .driver = { | ^ drivers/net/dsa/an8855.c:2298:19: note: (near initialization for 'an8855_switch_driver') drivers/net/dsa/an8855.c:2298:19: warning: excess elements in struct initializer drivers/net/dsa/an8855.c:2298:19: note: (near initialization for 'an8855_switch_driver') >> drivers/net/dsa/an8855.c:2303:1: warning: data definition has no type or storage class 2303 | module_platform_driver(an8855_switch_driver); | ^~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/dsa/an8855.c:2303:1: error: type defaults to 'int' in declaration of 'module_platform_driver' [-Wimplicit-int] >> drivers/net/dsa/an8855.c:2303:1: error: parameter names (without types) in function declaration [-Wdeclaration-missing-parameter-type] >> drivers/net/dsa/an8855.c:2295:31: error: storage size of 'an8855_switch_driver' isn't known 2295 | static struct platform_driver an8855_switch_driver = { | ^~~~~~~~~~~~~~~~~~~~ >> drivers/net/dsa/an8855.c:2295:31: warning: 'an8855_switch_driver' defined but not used [-Wunused-variable] vim +2227 drivers/net/dsa/an8855.c 2220 2221 static int an8855_switch_probe(struct platform_device *pdev) 2222 { 2223 struct an8855_priv *priv; 2224 u32 val; 2225 int ret; 2226 > 2227 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); 2228 if (!priv) 2229 return -ENOMEM; 2230 > 2231 priv->dev = &pdev->dev; 2232 priv->phy_require_calib = of_property_read_bool(priv->dev->of_node, 2233 "airoha,ext-surge"); 2234 2235 priv->reset_gpio = devm_gpiod_get_optional(priv->dev, "reset", 2236 GPIOD_OUT_LOW); 2237 if (IS_ERR(priv->reset_gpio)) 2238 return PTR_ERR(priv->reset_gpio); 2239 2240 /* Get regmap from MFD */ 2241 priv->regmap = dev_get_regmap(priv->dev->parent, NULL); 2242 2243 if (priv->reset_gpio) { 2244 usleep_range(100000, 150000); 2245 gpiod_set_value_cansleep(priv->reset_gpio, 0); 2246 usleep_range(100000, 150000); 2247 gpiod_set_value_cansleep(priv->reset_gpio, 1); 2248 2249 /* Poll HWTRAP reg to wait for Switch to fully Init */ 2250 ret = regmap_read_poll_timeout(priv->regmap, AN8855_HWTRAP, val, 2251 val, 20, 200000); 2252 if (ret) 2253 return ret; 2254 } 2255 2256 ret = an8855_read_switch_id(priv); 2257 if (ret) 2258 return ret; 2259 2260 priv->ds = devm_kzalloc(priv->dev, sizeof(*priv->ds), GFP_KERNEL); 2261 if (!priv->ds) 2262 return -ENOMEM; 2263 2264 priv->ds->dev = priv->dev; 2265 priv->ds->num_ports = AN8855_NUM_PORTS; 2266 priv->ds->priv = priv; 2267 priv->ds->ops = &an8855_switch_ops; 2268 devm_mutex_init(priv->dev, &priv->reg_mutex); 2269 priv->ds->phylink_mac_ops = &an8855_phylink_mac_ops; 2270 2271 priv->pcs.ops = &an8855_pcs_ops; 2272 priv->pcs.neg_mode = true; 2273 priv->pcs.poll = true; 2274 2275 dev_set_drvdata(priv->dev, priv); 2276 2277 return dsa_register_switch(priv->ds); 2278 } 2279 2280 static void an8855_switch_remove(struct platform_device *pdev) 2281 { > 2282 struct an8855_priv *priv = dev_get_drvdata(&pdev->dev); 2283 2284 if (!priv) 2285 return; 2286 2287 dsa_unregister_switch(priv->ds); 2288 } 2289 2290 static const struct of_device_id an8855_switch_of_match[] = { 2291 { .compatible = "airoha,an8855-switch" }, 2292 { /* sentinel */ } 2293 }; 2294 > 2295 static struct platform_driver an8855_switch_driver = { > 2296 .probe = an8855_switch_probe, > 2297 .remove = an8855_switch_remove, > 2298 .driver = { 2299 .name = "an8855-switch", 2300 .of_match_table = an8855_switch_of_match, 2301 }, 2302 }; > 2303 module_platform_driver(an8855_switch_driver); 2304 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki