Hi Geert, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git topic/rcar2-cpg-mssr head: bd948f4b8c455dfdbc8175b5c2bc29c91b048971 commit: bb107dc7b20e9c63fb44a9fa132d6581a6b69944 [10/32] [RFC] clk: renesas: Rework Kconfig and Makefile logic config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout bb107dc7b20e9c63fb44a9fa132d6581a6b69944 # save the attached .config to linux build tree make ARCH=i386 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): drivers/clk/renesas/clk-sh73a0.c: In function 'sh73a0_cpg_clocks_init': >> drivers/clk/renesas/clk-sh73a0.c:155:10: warning: 'parent_name' may be used uninitialized in this function [-Wmaybe-uninitialized] return clk_register_fixed_factor(NULL, name, parent_name, 0, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mult, div); ~~~~~~~~~~ drivers/clk/renesas/clk-sh73a0.c:82:14: note: 'parent_name' was declared here const char *parent_name; ^~~~~~~~~~~ coccinelle warnings: (new ones prefixed by >>) >> drivers/clk/renesas/renesas-cpg-mssr.c:323:14-21: ERROR: PTR_ERR applied after initialization to constant on line 260 vim +323 drivers/clk/renesas/renesas-cpg-mssr.c f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 254 } f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 255 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 256 static void __init cpg_mssr_register_core_clk(const struct cpg_core_clk *core, f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 257 const struct cpg_mssr_info *info, f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 258 struct cpg_mssr_priv *priv) f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 259 { f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 @260 struct clk *clk = NULL, *parent; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 261 struct device *dev = priv->dev; 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 262 unsigned int id = core->id, div = core->div; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 263 const char *parent_name; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 264 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 265 WARN_DEBUG(id >= priv->num_core_clks); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 266 WARN_DEBUG(PTR_ERR(priv->clks[id]) != -ENOENT); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 267 48d0341e drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-09-29 268 if (!core->name) { 48d0341e drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-09-29 269 /* Skip NULLified clock */ 48d0341e drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-09-29 270 return; 48d0341e drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-09-29 271 } 48d0341e drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-09-29 272 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 273 switch (core->type) { f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 274 case CLK_TYPE_IN: f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 275 clk = of_clk_get_by_name(priv->dev->of_node, core->name); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 276 break; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 277 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 278 case CLK_TYPE_FF: f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 279 case CLK_TYPE_DIV6P1: 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 280 case CLK_TYPE_DIV6_RO: f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 281 WARN_DEBUG(core->parent >= priv->num_core_clks); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 282 parent = priv->clks[core->parent]; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 283 if (IS_ERR(parent)) { f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 284 clk = parent; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 285 goto fail; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 286 } f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 287 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 288 parent_name = __clk_get_name(parent); 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 289 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 290 if (core->type == CLK_TYPE_DIV6_RO) 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 291 /* Multiply with the DIV6 register value */ 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 292 div *= (readl(priv->base + core->offset) & 0x3f) + 1; 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 293 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 294 if (core->type == CLK_TYPE_DIV6P1) { f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 295 clk = cpg_div6_register(core->name, 1, &parent_name, f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 296 priv->base + core->offset); 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 297 } else { 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 298 clk = clk_register_fixed_factor(NULL, core->name, 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 299 parent_name, 0, 5d3927f6 drivers/clk/renesas/renesas-cpg-mssr.c Wolfram Sang 2016-03-30 300 core->mult, div); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 301 } f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 302 break; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 303 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 304 default: f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 305 if (info->cpg_clk_register) f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 306 clk = info->cpg_clk_register(dev, core, info, f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 307 priv->clks, priv->base); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 308 else f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 309 dev_err(dev, "%s has unsupported core clock type %u\n", f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 310 core->name, core->type); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 311 break; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 312 } f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 313 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 314 if (IS_ERR_OR_NULL(clk)) f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 315 goto fail; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 316 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 317 dev_dbg(dev, "Core clock %pC at %pCr Hz\n", clk, clk); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 318 priv->clks[id] = clk; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 319 return; f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 320 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 321 fail: 1b9fe703 drivers/clk/renesas/renesas-cpg-mssr.c Geert Uytterhoeven 2016-10-18 322 dev_err(dev, "Failed to register %s clock %s: %ld\n", "core", f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 @323 core->name, PTR_ERR(clk)); f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 324 } f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 325 f793d1e5 drivers/clk/shmobile/renesas-cpg-mssr.c Geert Uytterhoeven 2015-10-16 326 static void __init cpg_mssr_register_mod_clk(const struct mssr_mod_clk *mod, :::::: The code at line 323 was first introduced by commit :::::: f793d1e51705b276f083c1dc0dc75fb4cc4375c7 clk: shmobile: Add new CPG/MSSR driver core :::::: TO: Geert Uytterhoeven :::::: CC: Geert Uytterhoeven --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation