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 <l...@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-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to