[PATCH v7 3/6] clk: ralink: add clock driver for mt7621 SoC

kernel test robot lkp at intel.com
Wed Feb 17 13:38:28 UTC 2021


Hi Sergio,

I love your patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on clk/clk-next robh/for-next linus/master v5.11 next-20210216]
[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]

url:    https://github.com/0day-ci/linux/commits/Sergio-Paracuellos/MIPS-ralink-add-CPU-clock-detection-and-clock-driver-for-MT7621/20210217-194316
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 4eb839aef182fccf8995ee439fc2b48d43e45918
config: riscv-randconfig-r036-20210217 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/0day-ci/linux/commit/9b83f7b7032e26686ddc5d89e82ee2df4dc260d3
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Sergio-Paracuellos/MIPS-ralink-add-CPU-clock-detection-and-clock-driver-for-MT7621/20210217-194316
        git checkout 9b83f7b7032e26686ddc5d89e82ee2df4dc260d3
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

>> drivers/clk/ralink/clk-mt7621.c:459:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!clk_data)
           ^~~~~~~~~~~~~~
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ralink/clk-mt7621.c:517:9: note: uninitialized use occurs here
           return ret;
                  ^~~
   drivers/clk/ralink/clk-mt7621.c:459:2: note: remove the 'if' if its condition is always false
           if (!clk_data)
           ^~~~~~~~~~~~~~
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/clk/ralink/clk-mt7621.c:451:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (IS_ERR(priv->memc)) {
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ralink/clk-mt7621.c:517:9: note: uninitialized use occurs here
           return ret;
                  ^~~
   drivers/clk/ralink/clk-mt7621.c:451:2: note: remove the 'if' if its condition is always false
           if (IS_ERR(priv->memc)) {
           ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/clk/ralink/clk-mt7621.c:445:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (IS_ERR(priv->sysc)) {
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ralink/clk-mt7621.c:517:9: note: uninitialized use occurs here
           return ret;
                  ^~~
   drivers/clk/ralink/clk-mt7621.c:445:2: note: remove the 'if' if its condition is always false
           if (IS_ERR(priv->sysc)) {
           ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/clk/ralink/clk-mt7621.c:438:9: note: initialize the variable 'ret' to silence this warning
           int ret, i, count;
                  ^
                   = 0
   3 warnings generated.


vim +459 drivers/clk/ralink/clk-mt7621.c

   431	
   432	static int mt7621_clk_probe(struct platform_device *pdev)
   433	{
   434		struct device_node *np = pdev->dev.of_node;
   435		struct clk_hw_onecell_data *clk_data;
   436		struct device *dev = &pdev->dev;
   437		struct mt7621_clk_priv *priv;
   438		int ret, i, count;
   439	
   440		priv = kzalloc(sizeof(*priv), GFP_KERNEL);
   441		if (!priv)
   442			return -ENOMEM;
   443	
   444		priv->sysc = syscon_regmap_lookup_by_phandle(np, "ralink,sysctl");
   445		if (IS_ERR(priv->sysc)) {
   446			dev_err(dev, "Could not get sysc syscon regmap\n");
   447			goto free_clk_priv;
   448		}
   449	
   450		priv->memc = syscon_regmap_lookup_by_phandle(np, "ralink,memctl");
   451		if (IS_ERR(priv->memc)) {
   452			dev_err(dev, "Could not get memc syscon regmap\n");
   453			goto free_clk_priv;
   454		}
   455	
   456		count = ARRAY_SIZE(mt7621_clks_base) +
   457			ARRAY_SIZE(mt7621_fixed_clks) + ARRAY_SIZE(mt7621_gates);
   458		clk_data = kzalloc(struct_size(clk_data, hws, count), GFP_KERNEL);
 > 459		if (!clk_data)
   460			goto free_clk_priv;
   461	
   462		for (i = 0; i < ARRAY_SIZE(mt7621_clks_base); i++)
   463			clk_data->hws[i] = mt7621_clk_early[i];
   464	
   465		ret = mt7621_register_fixed_clocks(dev, clk_data);
   466		if (ret) {
   467			dev_err(dev, "Couldn't register fixed clocks\n");
   468			goto free_clk_data;
   469		}
   470	
   471		ret = mt7621_register_gates(dev, clk_data, priv);
   472		if (ret) {
   473			dev_err(dev, "Couldn't register fixed clock gates\n");
   474			goto unreg_clk_fixed;
   475		}
   476	
   477		clk_data->num = count;
   478	
   479		ret = mt7621_prepare_enable_clocks(clk_data);
   480		if (ret) {
   481			dev_err(dev, "Couldn't register fixed clock gates\n");
   482			goto unreg_clk_gates;
   483		}
   484	
   485		ret = devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, clk_data);
   486		if (ret) {
   487			dev_err(dev, "Couldn't add clk hw provider\n");
   488			goto disable_clks;
   489		}
   490	
   491		return 0;
   492	
   493	disable_clks:
   494		for (i = 0; i < MT7621_CLK_MAX; i++)
   495			clk_disable_unprepare(clk_data->hws[i]->clk);
   496	
   497	unreg_clk_gates:
   498		for (i = 0; i < ARRAY_SIZE(mt7621_gates); i++) {
   499			struct mt7621_gate *sclk = &mt7621_gates[i];
   500	
   501			clk_hw_unregister(&sclk->hw);
   502		}
   503	
   504	unreg_clk_fixed:
   505		for (i = 0; i < ARRAY_SIZE(mt7621_fixed_clks); i++) {
   506			struct mt7621_fixed_clk *sclk = &mt7621_fixed_clks[i];
   507	
   508			clk_hw_unregister_fixed_rate(sclk->hw);
   509		}
   510	
   511	free_clk_data:
   512		kfree(clk_data);
   513	
   514	free_clk_priv:
   515		kfree(priv);
   516	
   517		return ret;
   518	}
   519	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 35739 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20210217/7da9876a/attachment-0001.bin>


More information about the devel mailing list