Re: [PATCH v2 1/2] soc: qcom: geni: Don't ignore clk_round_rate() errors in geni_se_clk_tbl_get()

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

 



Hi Douglas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on agross/for-next]
[also build test WARNING on v4.19-rc2 next-20180906]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Douglas-Anderson/soc-qcom-geni-Don-t-ignore-clk_round_rate-errors-in-geni_se_clk_tbl_get/20180907-045155
base:   https://git.kernel.org/pub/scm/linux/kernel/git/agross/linux.git for-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # 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/soc/qcom/qcom-geni-se.c: In function 'geni_se_clk_tbl_get':
>> drivers/soc/qcom/qcom-geni-se.c:531:39: warning: 'freq' may be used uninitialized in this function [-Wmaybe-uninitialized]
      freq = clk_round_rate(se->clk, freq + 1);
                                     ~~~~~^~~

vim +/freq +531 drivers/soc/qcom/qcom-geni-se.c

eddac5af Karthikeyan Ramasubramanian 2018-03-30  500  
eddac5af Karthikeyan Ramasubramanian 2018-03-30  501  /**
eddac5af Karthikeyan Ramasubramanian 2018-03-30  502   * geni_se_clk_tbl_get() - Get the clock table to program DFS
eddac5af Karthikeyan Ramasubramanian 2018-03-30  503   * @se:		Pointer to the concerned serial engine.
eddac5af Karthikeyan Ramasubramanian 2018-03-30  504   * @tbl:	Table in which the output is returned.
eddac5af Karthikeyan Ramasubramanian 2018-03-30  505   *
eddac5af Karthikeyan Ramasubramanian 2018-03-30  506   * This function is called by the protocol drivers to determine the different
eddac5af Karthikeyan Ramasubramanian 2018-03-30  507   * clock frequencies supported by serial engine core clock. The protocol
eddac5af Karthikeyan Ramasubramanian 2018-03-30  508   * drivers use the output to determine the clock frequency index to be
eddac5af Karthikeyan Ramasubramanian 2018-03-30  509   * programmed into DFS.
eddac5af Karthikeyan Ramasubramanian 2018-03-30  510   *
eddac5af Karthikeyan Ramasubramanian 2018-03-30  511   * Return: number of valid performance levels in the table on success,
eddac5af Karthikeyan Ramasubramanian 2018-03-30  512   *	   standard Linux error codes on failure.
eddac5af Karthikeyan Ramasubramanian 2018-03-30  513   */
eddac5af Karthikeyan Ramasubramanian 2018-03-30  514  int geni_se_clk_tbl_get(struct geni_se *se, unsigned long **tbl)
eddac5af Karthikeyan Ramasubramanian 2018-03-30  515  {
9747c0a2 Douglas Anderson            2018-09-06  516  	long freq;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  517  	int i;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  518  
eddac5af Karthikeyan Ramasubramanian 2018-03-30  519  	if (se->clk_perf_tbl) {
eddac5af Karthikeyan Ramasubramanian 2018-03-30  520  		*tbl = se->clk_perf_tbl;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  521  		return se->num_clk_levels;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  522  	}
eddac5af Karthikeyan Ramasubramanian 2018-03-30  523  
eddac5af Karthikeyan Ramasubramanian 2018-03-30  524  	se->clk_perf_tbl = devm_kcalloc(se->dev, MAX_CLK_PERF_LEVEL,
eddac5af Karthikeyan Ramasubramanian 2018-03-30  525  					sizeof(*se->clk_perf_tbl),
eddac5af Karthikeyan Ramasubramanian 2018-03-30  526  					GFP_KERNEL);
eddac5af Karthikeyan Ramasubramanian 2018-03-30  527  	if (!se->clk_perf_tbl)
eddac5af Karthikeyan Ramasubramanian 2018-03-30  528  		return -ENOMEM;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  529  
eddac5af Karthikeyan Ramasubramanian 2018-03-30  530  	for (i = 0; i < MAX_CLK_PERF_LEVEL; i++) {
eddac5af Karthikeyan Ramasubramanian 2018-03-30 @531  		freq = clk_round_rate(se->clk, freq + 1);
9747c0a2 Douglas Anderson            2018-09-06  532  		if (freq <= 0 || freq == se->clk_perf_tbl[i - 1])
eddac5af Karthikeyan Ramasubramanian 2018-03-30  533  			break;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  534  		se->clk_perf_tbl[i] = freq;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  535  	}
eddac5af Karthikeyan Ramasubramanian 2018-03-30  536  	se->num_clk_levels = i;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  537  	*tbl = se->clk_perf_tbl;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  538  	return se->num_clk_levels;
eddac5af Karthikeyan Ramasubramanian 2018-03-30  539  }
eddac5af Karthikeyan Ramasubramanian 2018-03-30  540  EXPORT_SYMBOL(geni_se_clk_tbl_get);
eddac5af Karthikeyan Ramasubramanian 2018-03-30  541  

:::::: The code at line 531 was first introduced by commit
:::::: eddac5af06546d2e7a0730e3dc02dde3dc91098a soc: qcom: Add GENI based QUP Wrapper driver

:::::: TO: Karthikeyan Ramasubramanian <kramasub@xxxxxxxxxxxxxx>
:::::: CC: Andy Gross <andy.gross@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[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