Message ID | b11039e4-69c6-4247-b4ba-c442b9427231@web.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | clk: ti: Adjustments for eight function implementations | expand |
Hi Markus, kernel test robot noticed the following build errors: [auto build test ERROR on clk/clk-next] [also build test ERROR on linus/master v6.7-rc7 next-20231222] [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/Markus-Elfring/clk-ti-Less-function-calls-in-of_omap2_apll_setup-after-error-detection/20231225-152410 base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next patch link: https://lore.kernel.org/r/b11039e4-69c6-4247-b4ba-c442b9427231%40web.de patch subject: [PATCH 09/10] clk: ti: Less function calls in _ti_clkctrl_clk_register() after error detection config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20231228/202312281350.5H2Rhh67-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231228/202312281350.5H2Rhh67-lkp@intel.com/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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312281350.5H2Rhh67-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/clk/ti/clkctrl.c: In function '_ti_clkctrl_clk_register': >> drivers/clk/ti/clkctrl.c:330:1: error: 'free_init_name' undeclared (first use in this function) 330 | free_init_name; | ^~~~~~~~~~~~~~ drivers/clk/ti/clkctrl.c:330:1: note: each undeclared identifier is reported only once for each function it appears in >> drivers/clk/ti/clkctrl.c:305:17: error: label 'free_init_name' used but not defined 305 | goto free_init_name; | ^~~~ vim +/free_init_name +330 drivers/clk/ti/clkctrl.c 283 284 static int __init 285 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, 286 struct device_node *node, struct clk_hw *clk_hw, 287 u16 offset, u8 bit, const char * const *parents, 288 int num_parents, const struct clk_ops *ops, 289 const char *clkctrl_name) 290 { 291 struct clk_init_data init = { NULL }; 292 struct clk *clk; 293 struct omap_clkctrl_clk *clkctrl_clk; 294 int ret = 0; 295 296 init.name = clkctrl_get_clock_name(node, clkctrl_name, offset, bit, 297 ti_clk_get_features()->flags & 298 TI_CLK_CLKCTRL_COMPAT); 299 if (!init.name) 300 return -ENOMEM; 301 302 clkctrl_clk = kzalloc(sizeof(*clkctrl_clk), GFP_KERNEL); 303 if (!clkctrl_clk) { 304 ret = -ENOMEM; > 305 goto free_init_name; 306 } 307 308 clk_hw->init = &init; 309 init.parent_names = parents; 310 init.num_parents = num_parents; 311 init.ops = ops; 312 init.flags = 0; 313 314 clk = of_ti_clk_register(node, clk_hw, init.name); 315 if (IS_ERR_OR_NULL(clk)) { 316 ret = -EINVAL; 317 goto cleanup; 318 } 319 320 clkctrl_clk->reg_offset = offset; 321 clkctrl_clk->bit_offset = bit; 322 clkctrl_clk->clk = clk_hw; 323 324 list_add(&clkctrl_clk->node, &provider->clocks); 325 326 return 0; 327 328 cleanup: 329 kfree(clkctrl_clk); > 330 free_init_name; 331 kfree(init.name); 332 return ret; 333 } 334
… > drivers/clk/ti/clkctrl.c: In function '_ti_clkctrl_clk_register': >>> drivers/clk/ti/clkctrl.c:330:1: error: 'free_init_name' undeclared (first use in this function) … > 328 cleanup: > 329 kfree(clkctrl_clk); > > 330 free_init_name; > 331 kfree(init.name); > 332 return ret; … Will it become helpful to fix a typo for the delimiter of the shown label? Or: Are you looking for further adjustments according to software design options which would be supported by the file “cleanup.h”? https://elixir.bootlin.com/linux/v6.7-rc7/source/include/linux/cleanup.h Regards, Markus
diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c index 5a1bd176160c..cdc3cf1ddddf 100644 --- a/drivers/clk/ti/clkctrl.c +++ b/drivers/clk/ti/clkctrl.c @@ -296,11 +296,13 @@ _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, init.name = clkctrl_get_clock_name(node, clkctrl_name, offset, bit, ti_clk_get_features()->flags & TI_CLK_CLKCTRL_COMPAT); + if (!init.name) + return -ENOMEM; clkctrl_clk = kzalloc(sizeof(*clkctrl_clk), GFP_KERNEL); - if (!init.name || !clkctrl_clk) { + if (!clkctrl_clk) { ret = -ENOMEM; - goto cleanup; + goto free_init_name; } clk_hw->init = &init; @@ -324,8 +326,9 @@ _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, return 0; cleanup: - kfree(init.name); kfree(clkctrl_clk); +free_init_name; + kfree(init.name); return ret; }