CC: [email protected]
CC: [email protected]
BCC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: "Sicelo A. Mhlongo" <[email protected]>
TO: [email protected]
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: "Sicelo A. Mhlongo" <[email protected]>

Hi "Sicelo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on sre-power-supply/for-next]
[also build test WARNING on v5.18-rc3 next-20220420]
[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/Sicelo-A-Mhlongo/power-supply-bq27xxx-expose-battery-data-when-CI-1/20220420-203454
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git 
for-next
:::::: branch date: 16 hours ago
:::::: commit date: 16 hours ago
config: arm-randconfig-c002-20220420 
(https://download.01.org/0day-ci/archive/20220421/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # 
https://github.com/intel-lab-lkp/linux/commit/90fd98ac9f5c7b3b6f0c72a863518b40f2a20790
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
Sicelo-A-Mhlongo/power-supply-bq27xxx-expose-battery-data-when-CI-1/20220420-203454
        git checkout 90fd98ac9f5c7b3b6f0c72a863518b40f2a20790
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
                           if (status)
                               ^~~~~~
   drivers/media/dvb-frontends/cxd2099.c:68:4: note: Taking true branch
                           if (status)
                           ^
   drivers/media/dvb-frontends/cxd2099.c:79:9: note: Returning from 'read_block'
           return read_block(ci, reg, val, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:493:2: note: Returning from 'read_reg'
           read_reg(ci, 0x04, &istat);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:494:6: note: Assuming 'istat' is not 
equal to 0
           if (!istat)
               ^~~~~~
   drivers/media/dvb-frontends/cxd2099.c:494:2: note: Taking false branch
           if (!istat)
           ^
   drivers/media/dvb-frontends/cxd2099.c:498:6: note: Assuming the condition is 
false
           if (istat & 0x40)
               ^~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:498:2: note: Taking false branch
           if (istat & 0x40)
           ^
   drivers/media/dvb-frontends/cxd2099.c:500:6: note: Assuming the condition is 
false
           if (istat & 0x20)
               ^~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:500:2: note: Taking false branch
           if (istat & 0x20)
           ^
   drivers/media/dvb-frontends/cxd2099.c:503:6: note: Assuming the condition is 
true
           if (istat & 2) {
               ^~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:503:2: note: Taking true branch
           if (istat & 2) {
           ^
   drivers/media/dvb-frontends/cxd2099.c:504:3: note: 'slotstat' declared 
without an initial value
                   u8 slotstat;
                   ^~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:506:3: note: Calling 'read_reg'
                   read_reg(ci, 0x01, &slotstat);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:79:9: note: Calling 'read_block'
           return read_block(ci, reg, val, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:57:6: note: Assuming 'adr' is not 
equal to field 'lastaddress'
           if (ci->lastaddress != adr)
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:57:2: note: Taking true branch
           if (ci->lastaddress != adr)
           ^
   drivers/media/dvb-frontends/cxd2099.c:59:6: note: Assuming 'status' is not 
equal to 0
           if (!status) {
               ^~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:59:2: note: Taking false branch
           if (!status) {
           ^
   drivers/media/dvb-frontends/cxd2099.c:74:2: note: Returning without writing 
to '*data'
           return status;
           ^
   drivers/media/dvb-frontends/cxd2099.c:79:9: note: Returning from 'read_block'
           return read_block(ci, reg, val, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:79:2: note: Returning without writing 
to '*val'
           return read_block(ci, reg, val, 1);
           ^
   drivers/media/dvb-frontends/cxd2099.c:506:3: note: Returning from 'read_reg'
                   read_reg(ci, 0x01, &slotstat);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:507:11: note: The right operand of '&' 
is a garbage value
                   if (!(2 & slotstat)) {
                           ^ ~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:620:2: warning: Call to function 
'memcpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memcpy(&ci->cfg, cfg, sizeof(ci->cfg));
           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/cxd2099.c:620:2: note: Call to function 'memcpy' 
is insecure as it does not provide security checks introduced in the C11 
standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11
           memcpy(&ci->cfg, cfg, sizeof(ci->cfg));
           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   27 warnings generated.
>> drivers/power/supply/bq27xxx_battery.c:1767:7: warning: Value stored to 
>> 'has_ci_flag' during its initialization is never read 
>> [clang-analyzer-deadcode.DeadStores]
           bool has_ci_flag = di->opts & BQ27XXX_O_HAS_CI;
                ^~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/power/supply/bq27xxx_battery.c:1767:7: note: Value stored to 
'has_ci_flag' during its initialization is never read
           bool has_ci_flag = di->opts & BQ27XXX_O_HAS_CI;
                ^~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 26 warnings (25 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   46 warnings generated.
   drivers/power/supply/bq27xxx_battery_i2c.c:124:2: warning: Call to function 
'memcpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memcpy(&buf[1], data, len);
           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   drivers/power/supply/bq27xxx_battery_i2c.c:124:2: note: Call to function 
'memcpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11
           memcpy(&buf[1], data, len);
           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   19 warnings generated.
   Suppressed 19 warnings (19 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   45 warnings generated.
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   45 warnings generated.
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   25 warnings generated.
   drivers/power/supply/max1721x_battery.c:259:2: warning: Call to function 
'snprintf' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'snprintf_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           snprintf(str, 13, "%04X%04X%04X", val[0], val[1], val[2]);
           ^~~~~~~~
   drivers/power/supply/max1721x_battery.c:259:2: note: Call to function 
'snprintf' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'snprintf_s' in case of C11
           snprintf(str, 13, "%04X%04X%04X", val[0], val[1], val[2]);
           ^~~~~~~~
   drivers/power/supply/max1721x_battery.c:341:2: warning: Call to function 
'snprintf' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'snprintf_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           snprintf(info->name, sizeof(info->name),
           ^~~~~~~~
   drivers/power/supply/max1721x_battery.c:341:2: note: Call to function 
'snprintf' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'snprintf_s' in case of C11
           snprintf(info->name, sizeof(info->name),
           ^~~~~~~~
   drivers/power/supply/max1721x_battery.c:387:3: warning: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   strncpy(info->ManufacturerName, DEF_MFG_NAME,
                   ^~~~~~~
   drivers/power/supply/max1721x_battery.c:387:3: note: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11
                   strncpy(info->ManufacturerName, DEF_MFG_NAME,
                   ^~~~~~~
   drivers/power/supply/max1721x_battery.c:406:4: warning: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           strncpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
                           ^~~~~~~
   drivers/power/supply/max1721x_battery.c:406:4: note: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11
                           strncpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
                           ^~~~~~~
   drivers/power/supply/max1721x_battery.c:410:4: warning: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           strncpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
                           ^~~~~~~
   drivers/power/supply/max1721x_battery.c:410:4: note: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11
                           strncpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
                           ^~~~~~~
   drivers/power/supply/max1721x_battery.c:414:4: warning: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           strncpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
                           ^~~~~~~
   drivers/power/supply/max1721x_battery.c:414:4: note: Call to function 
'strncpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'strncpy_s' in case of C11
                           strncpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
                           ^~~~~~~
   Suppressed 19 warnings (19 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   47 warnings generated.
   drivers/media/dvb-frontends/s5h1411.c:880:2: warning: Call to function 
'memcpy' is insecure as it does not provide security checks introduced in the 
C11 standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11 
[clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memcpy(&state->frontend.ops, &s5h1411_ops,
           ^
   include/linux/fortify-string.h:369:26: note: expanded from macro 'memcpy'
   #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/fortify-string.h:362:2: note: expanded from macro 
'__fortify_memcpy_chk'
           __underlying_##op(p, q, __fortify_size);                        \
           ^~~~~~~~~~~~~~~~~
   note: expanded from here
   include/linux/fortify-string.h:45:29: note: expanded from macro 
'__underlying_memcpy'
   #define __underlying_memcpy     __builtin_memcpy
                                   ^~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/s5h1411.c:880:2: note: Call to function 'memcpy' 
is insecure as it does not provide security checks introduced in the C11 
standard. Replace with analogous functions that support length arguments or 
provides boundary checks such as 'memcpy_s' in case of C11
           memcpy(&state->frontend.ops, &s5h1411_ops,

vim +/has_ci_flag +1767 drivers/power/supply/bq27xxx_battery.c

9903e62700a122 drivers/power/bq27x00_battery.c        Syed Rafiuddin         
2012-05-17  1763  
703df6c097956d drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-11-23  1764  void bq27xxx_battery_update(struct bq27xxx_device_info *di)
b996ad0e9fb15c drivers/power/bq27x00_battery.c        Rodolfo Giometti       
2008-08-20  1765  {
081bab217db769 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1766   struct bq27xxx_reg_cache cache = {0, };
7be64ae0bf369e drivers/power/supply/bq27xxx_battery.c Krzysztof Kozlowski    
2020-09-19 @1767   bool has_ci_flag = di->opts & BQ27XXX_O_HAS_CI;
3a731c6414c940 drivers/power/supply/bq27xxx_battery.c Liam Breck             
2017-08-23  1768   bool has_singe_flag = di->opts & BQ27XXX_O_ZERO;
b996ad0e9fb15c drivers/power/bq27x00_battery.c        Rodolfo Giometti       
2008-08-20  1769  
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1770   cache.flags = bq27xxx_read(di, BQ27XXX_REG_FLAGS, 
has_singe_flag);
3dd843e1c26a02 drivers/power/bq27x00_battery.c        Marek Belisko          
2014-06-30  1771   if ((cache.flags & 0xff) == 0xff)
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1772           cache.flags = -1; /* read error */
297a533b3e621b drivers/power/bq27x00_battery.c        Lars-Peter Clausen     
2011-01-07  1773   if (cache.flags >= 0) {
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1774           cache.temperature = 
bq27xxx_battery_read_temperature(di);
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1775           if (di->regs[BQ27XXX_REG_TTE] != INVALID_REG_ADDR)
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1776                   cache.time_to_empty = 
bq27xxx_battery_read_time(di, BQ27XXX_REG_TTE);
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1777           if (di->regs[BQ27XXX_REG_TTECP] != INVALID_REG_ADDR)
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1778                   cache.time_to_empty_avg = 
bq27xxx_battery_read_time(di, BQ27XXX_REG_TTECP);
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1779           if (di->regs[BQ27XXX_REG_TTF] != INVALID_REG_ADDR)
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1780                   cache.time_to_full = 
bq27xxx_battery_read_time(di, BQ27XXX_REG_TTF);
6f24ff97e3231a drivers/power/supply/bq27xxx_battery.c Dan Murphy             
2020-07-29  1781  
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1782           cache.charge_full = bq27xxx_battery_read_fcc(di);
c570903290d7cb drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1783           cache.capacity = bq27xxx_battery_read_soc(di);
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1784           if (di->regs[BQ27XXX_REG_AE] != INVALID_REG_ADDR)
081bab217db769 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1785                   cache.energy = 
bq27xxx_battery_read_energy(di);
9b2c945f9f4d34 drivers/power/supply/bq27xxx_battery.c Arthur Demchenkov      
2019-02-18  1786           di->cache.flags = cache.flags;
081bab217db769 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1787           cache.health = bq27xxx_battery_read_health(di);
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1788           if (di->regs[BQ27XXX_REG_CYCT] != INVALID_REG_ADDR)
081bab217db769 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1789                   cache.cycle_count = 
bq27xxx_battery_read_cyct(di);
e20908d95e89d0 drivers/power/bq27x00_battery.c        Grazvydas Ignotas      
2010-02-12  1790  
631c17ee5daf0c drivers/power/bq27x00_battery.c        Pali Rohár             
2011-02-01  1791           /* We only have to read charge design full once */
631c17ee5daf0c drivers/power/bq27x00_battery.c        Pali Rohár             
2011-02-01  1792           if (di->charge_design_full <= 0)
d74534c2777585 drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-09-22  1793                   di->charge_design_full = 
bq27xxx_battery_read_dcap(di);
b996ad0e9fb15c drivers/power/bq27x00_battery.c        Rodolfo Giometti       
2008-08-20  1794   }
297a533b3e621b drivers/power/bq27x00_battery.c        Lars-Peter Clausen     
2011-01-07  1795  
243f8ffc883a12 drivers/power/supply/bq27xxx_battery.c Krzysztof Kozlowski    
2019-04-26  1796   if ((di->cache.capacity != cache.capacity) ||
243f8ffc883a12 drivers/power/supply/bq27xxx_battery.c Krzysztof Kozlowski    
2019-04-26  1797       (di->cache.flags != cache.flags))
297d716f6260cc drivers/power/bq27x00_battery.c        Krzysztof Kozlowski    
2015-03-12  1798           power_supply_changed(di->bat);
90f04a28fbadbc drivers/power/bq27x00_battery.c        Puthikorn Voravootivat 
2014-10-21  1799  
90f04a28fbadbc drivers/power/bq27x00_battery.c        Puthikorn Voravootivat 
2014-10-21  1800   if (memcmp(&di->cache, &cache, sizeof(cache)) != 0)
90f04a28fbadbc drivers/power/bq27x00_battery.c        Puthikorn Voravootivat 
2014-10-21  1801           di->cache = cache;
e20908d95e89d0 drivers/power/bq27x00_battery.c        Grazvydas Ignotas      
2010-02-12  1802  
297a533b3e621b drivers/power/bq27x00_battery.c        Lars-Peter Clausen     
2011-01-07  1803   di->last_update = jiffies;
b996ad0e9fb15c drivers/power/bq27x00_battery.c        Rodolfo Giometti       
2008-08-20  1804  }
703df6c097956d drivers/power/bq27xxx_battery.c        Andrew F. Davis        
2015-11-23  1805  EXPORT_SYMBOL_GPL(bq27xxx_battery_update);
b996ad0e9fb15c drivers/power/bq27x00_battery.c        Rodolfo Giometti       
2008-08-20  1806  

-- 
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