CC: kbuild-...@lists.01.org
BCC: l...@intel.com
In-Reply-To: <20220613125836.523449-3-srinivas.ne...@xilinx.com>
References: <20220613125836.523449-3-srinivas.ne...@xilinx.com>
TO: Srinivas Neeli <srinivas.ne...@xilinx.com>

Hi Srinivas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on abelloni/rtc-next]
[also build test WARNING on v5.19-rc3 next-20220624]
[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/intel-lab-lkp/linux/commits/Srinivas-Neeli/dt-bindings-rtc-zynqmp-Add-clock-information/20220614-013701
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git 
rtc-next
:::::: branch date: 12 days ago
:::::: commit date: 12 days ago
config: arc-randconfig-m031-20220622
compiler: arceb-elf-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

smatch warnings:
drivers/rtc/rtc-zynqmp.c:238 xlnx_rtc_set_offset() error: uninitialized symbol 
'fract_tick'.

vim +/fract_tick +238 drivers/rtc/rtc-zynqmp.c

2781fd75583878 Srinivas Neeli  2022-06-13  200  
2781fd75583878 Srinivas Neeli  2022-06-13  201  static int 
xlnx_rtc_set_offset(struct device *dev, long offset)
2781fd75583878 Srinivas Neeli  2022-06-13  202  {
2781fd75583878 Srinivas Neeli  2022-06-13  203          struct xlnx_rtc_dev 
*xrtcdev = dev_get_drvdata(dev);
2781fd75583878 Srinivas Neeli  2022-06-13  204          unsigned long long 
rtc_ppb = RTC_PPB;
2781fd75583878 Srinivas Neeli  2022-06-13  205          unsigned int tick_mult 
= do_div(rtc_ppb, xrtcdev->freq);
2781fd75583878 Srinivas Neeli  2022-06-13  206          unsigned char 
fract_tick;
2781fd75583878 Srinivas Neeli  2022-06-13  207          unsigned int calibval;
2781fd75583878 Srinivas Neeli  2022-06-13  208          short int  max_tick;
2781fd75583878 Srinivas Neeli  2022-06-13  209          int fract_offset;
2781fd75583878 Srinivas Neeli  2022-06-13  210  
2781fd75583878 Srinivas Neeli  2022-06-13  211          if (offset < 
RTC_MIN_OFFSET || offset > RTC_MAX_OFFSET)
2781fd75583878 Srinivas Neeli  2022-06-13  212                  return -ERANGE;
2781fd75583878 Srinivas Neeli  2022-06-13  213  
2781fd75583878 Srinivas Neeli  2022-06-13  214          /* Number ticks for 
given offset */
2781fd75583878 Srinivas Neeli  2022-06-13  215          max_tick = 
div_s64_rem(offset, tick_mult, &fract_offset);
2781fd75583878 Srinivas Neeli  2022-06-13  216  
2781fd75583878 Srinivas Neeli  2022-06-13  217          /* Number fractional 
ticks for given offset */
2781fd75583878 Srinivas Neeli  2022-06-13  218          if (fract_offset) {
2781fd75583878 Srinivas Neeli  2022-06-13  219                  if 
(fract_offset < 0) {
2781fd75583878 Srinivas Neeli  2022-06-13  220                          
fract_offset = fract_offset + tick_mult;
2781fd75583878 Srinivas Neeli  2022-06-13  221                          
max_tick--;
2781fd75583878 Srinivas Neeli  2022-06-13  222                  }
2781fd75583878 Srinivas Neeli  2022-06-13  223                  if 
(fract_offset > (tick_mult / RTC_FR_MAX_TICKS)) {
2781fd75583878 Srinivas Neeli  2022-06-13  224                          for 
(fract_tick = 1; fract_tick < 16; fract_tick++) {
2781fd75583878 Srinivas Neeli  2022-06-13  225                                  
if (fract_offset <=
2781fd75583878 Srinivas Neeli  2022-06-13  226                                  
    (fract_tick *
2781fd75583878 Srinivas Neeli  2022-06-13  227                                  
     (tick_mult / RTC_FR_MAX_TICKS)))
2781fd75583878 Srinivas Neeli  2022-06-13  228                                  
        break;
2781fd75583878 Srinivas Neeli  2022-06-13  229                          }
2781fd75583878 Srinivas Neeli  2022-06-13  230                  }
2781fd75583878 Srinivas Neeli  2022-06-13  231          }
2781fd75583878 Srinivas Neeli  2022-06-13  232  
2781fd75583878 Srinivas Neeli  2022-06-13  233          /* Zynqmp RTC uses 
second and fractional tick
2781fd75583878 Srinivas Neeli  2022-06-13  234           * counters for 
compensation
11143c19eb57a8 Suneel Garapati 2015-08-19  235           */
2781fd75583878 Srinivas Neeli  2022-06-13  236          calibval = max_tick + 
RTC_CALIB_DEF;
2781fd75583878 Srinivas Neeli  2022-06-13  237  
2781fd75583878 Srinivas Neeli  2022-06-13 @238          if (fract_tick)
2781fd75583878 Srinivas Neeli  2022-06-13  239                  calibval |= 
RTC_FR_EN;
2781fd75583878 Srinivas Neeli  2022-06-13  240  
2781fd75583878 Srinivas Neeli  2022-06-13  241          calibval |= (fract_tick 
<< RTC_FR_DATSHIFT);
2781fd75583878 Srinivas Neeli  2022-06-13  242  
2781fd75583878 Srinivas Neeli  2022-06-13  243          writel(calibval, 
(xrtcdev->reg_base + RTC_CALIB_WR));
2781fd75583878 Srinivas Neeli  2022-06-13  244  
2781fd75583878 Srinivas Neeli  2022-06-13  245          return 0;
11143c19eb57a8 Suneel Garapati 2015-08-19  246  }
11143c19eb57a8 Suneel Garapati 2015-08-19  247  

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

Reply via email to