[kbuild] Re: [PATCH] clk: qcom: common: use parent_hws in _qcom_cc_register_board_clk()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,

url:    https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/clk-qcom-common-use-parent_hws-in-_qcom_cc_register_board_clk/20220620-160242 
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git  clk-next
config: parisc-randconfig-m031-20220619 (https://download.01.org/0day-ci/archive/20220621/202206210257.lD0x1WPz-lkp@xxxxxxxxx/config )
compiler: hppa-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

smatch warnings:
drivers/clk/qcom/common.c:172 _qcom_cc_register_board_clk() error: uninitialized symbol 'fixed'.

vim +/fixed +172 drivers/clk/qcom/common.c

ee15faffef1130 Stephen Boyd     2015-10-26  129  static int _qcom_cc_register_board_clk(struct device *dev, const char *path,
ee15faffef1130 Stephen Boyd     2015-10-26  130  				       const char *name, unsigned long rate,
ee15faffef1130 Stephen Boyd     2015-10-26  131  				       bool add_factor)
ee15faffef1130 Stephen Boyd     2015-10-26  132  {
ee15faffef1130 Stephen Boyd     2015-10-26  133  	struct device_node *node = NULL;
ee15faffef1130 Stephen Boyd     2015-10-26  134  	struct device_node *clocks_node;
ee15faffef1130 Stephen Boyd     2015-10-26  135  	struct clk_fixed_factor *factor;
ee15faffef1130 Stephen Boyd     2015-10-26  136  	struct clk_fixed_rate *fixed;
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ee15faffef1130 Stephen Boyd     2015-10-26  137  	struct clk_init_data init_data = { };
120c1552839036 Stephen Boyd     2016-08-16  138  	int ret;
ee15faffef1130 Stephen Boyd     2015-10-26  139  
ee15faffef1130 Stephen Boyd     2015-10-26  140  	clocks_node = of_find_node_by_path("/clocks");
43a51019cc8ff1 Johan Hovold     2017-11-11  141  	if (clocks_node) {
43a51019cc8ff1 Johan Hovold     2017-11-11  142  		node = of_get_child_by_name(clocks_node, path);
43a51019cc8ff1 Johan Hovold     2017-11-11  143  		of_node_put(clocks_node);
43a51019cc8ff1 Johan Hovold     2017-11-11  144  	}
ee15faffef1130 Stephen Boyd     2015-10-26  145  
ee15faffef1130 Stephen Boyd     2015-10-26  146  	if (!node) {
ee15faffef1130 Stephen Boyd     2015-10-26  147  		fixed = devm_kzalloc(dev, sizeof(*fixed), GFP_KERNEL);
ee15faffef1130 Stephen Boyd     2015-10-26  148  		if (!fixed)
ee15faffef1130 Stephen Boyd     2015-10-26  149  			return -EINVAL;
ee15faffef1130 Stephen Boyd     2015-10-26  150  
ee15faffef1130 Stephen Boyd     2015-10-26  151  		fixed->fixed_rate = rate;
ee15faffef1130 Stephen Boyd     2015-10-26  152  		fixed->hw.init = &init_data;
ee15faffef1130 Stephen Boyd     2015-10-26  153  
ee15faffef1130 Stephen Boyd     2015-10-26  154  		init_data.name = path;
ee15faffef1130 Stephen Boyd     2015-10-26  155  		init_data.ops = &clk_fixed_rate_ops;
ee15faffef1130 Stephen Boyd     2015-10-26  156  
120c1552839036 Stephen Boyd     2016-08-16  157  		ret = devm_clk_hw_register(dev, &fixed->hw);
120c1552839036 Stephen Boyd     2016-08-16  158  		if (ret)
120c1552839036 Stephen Boyd     2016-08-16  159  			return ret;
ee15faffef1130 Stephen Boyd     2015-10-26  160  	}

"fixed" is not set on else path.

ee15faffef1130 Stephen Boyd     2015-10-26  161  	of_node_put(node);
ee15faffef1130 Stephen Boyd     2015-10-26  162  
ee15faffef1130 Stephen Boyd     2015-10-26  163  	if (add_factor) {
ee15faffef1130 Stephen Boyd     2015-10-26  164  		factor = devm_kzalloc(dev, sizeof(*factor), GFP_KERNEL);
ee15faffef1130 Stephen Boyd     2015-10-26  165  		if (!factor)
ee15faffef1130 Stephen Boyd     2015-10-26  166  			return -EINVAL;
ee15faffef1130 Stephen Boyd     2015-10-26  167  
ee15faffef1130 Stephen Boyd     2015-10-26  168  		factor->mult = factor->div = 1;
ee15faffef1130 Stephen Boyd     2015-10-26  169  		factor->hw.init = &init_data;
ee15faffef1130 Stephen Boyd     2015-10-26  170  
ee15faffef1130 Stephen Boyd     2015-10-26  171  		init_data.name = name;
daa853a735065a Dmitry Baryshkov 2022-06-20 @172  		init_data.parent_hws = (const struct clk_hw*[]){ &fixed->hw };
                                                                                                                  ^^^^^
Used here.  This would work if fixed were set to NULL at the start but
I kind of hate that it requires us to know that ->hw is the first member
of fixed struct.

ee15faffef1130 Stephen Boyd     2015-10-26  173  		init_data.num_parents = 1;
ee15faffef1130 Stephen Boyd     2015-10-26  174  		init_data.flags = 0;
ee15faffef1130 Stephen Boyd     2015-10-26  175  		init_data.ops = &clk_fixed_factor_ops;
ee15faffef1130 Stephen Boyd     2015-10-26  176  
120c1552839036 Stephen Boyd     2016-08-16  177  		ret = devm_clk_hw_register(dev, &factor->hw);
120c1552839036 Stephen Boyd     2016-08-16  178  		if (ret)
120c1552839036 Stephen Boyd     2016-08-16  179  			return ret;
ee15faffef1130 Stephen Boyd     2015-10-26  180  	}
ee15faffef1130 Stephen Boyd     2015-10-26  181  
ee15faffef1130 Stephen Boyd     2015-10-26  182  	return 0;
ee15faffef1130 Stephen Boyd     2015-10-26  183  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp 
_______________________________________________
kbuild mailing list -- kbuild@xxxxxxxxxxxx
To unsubscribe send an email to kbuild-leave@xxxxxxxxxxxx




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux