CC: [email protected]
BCC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Srinivas Neeli <[email protected]>
CC: Alexandre Belloni <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   7c5e07b73ff3011c9b82d4a3286a3362b951ad2b
commit: 07dcc6f9c76275d6679f28a69e042a2f9dc8f128 [12714/13542] rtc: zynqmp: Add 
calibration set and get support
:::::: branch date: 8 hours ago
:::::: commit date: 2 days ago
config: mips-randconfig-m031-20220727 
(https://download.01.org/0day-ci/archive/20220729/[email protected]/config)
compiler: mipsel-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

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

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

Reply via email to