Hi William,

I love your patch! Perhaps something to improve:

[auto build test WARNING on stm32/stm32-next]
[cannot apply to linus/master linux/master v5.7-rc3 next-20200430]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/Introduce-the-Counter-character-device-interface/20200430-051734
base:   https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git 
stm32-next
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-191-gc51a0382-dirty
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

>> drivers/counter/104-quad-8.c:700:56: sparse: sparse: mixing different enum 
>> types:
>> drivers/counter/104-quad-8.c:700:56: sparse:    unsigned int enum 
>> counter_count_function
>> drivers/counter/104-quad-8.c:700:56: sparse:    unsigned int enum 
>> quad8_count_function
--
>> drivers/counter/stm32-lptimer-cnt.c:573:24: sparse: sparse: mixing different 
>> enum types:
>> drivers/counter/stm32-lptimer-cnt.c:573:24: sparse:    unsigned int enum 
>> counter_count_function
>> drivers/counter/stm32-lptimer-cnt.c:573:24: sparse:    unsigned int enum 
>> stm32_lptim_cnt_function

vim +700 drivers/counter/104-quad-8.c

   693  
   694  static int quad8_function_write(struct counter_device *counter,
   695                                  struct counter_count *count,
   696                                  enum counter_count_function function)
   697  {
   698          struct quad8_iio *const priv = counter->priv;
   699          const int id = count->id;
 > 700          const enum quad8_count_function cnt_function = function;
   701          unsigned int *const quadrature_mode = priv->quadrature_mode + 
id;
   702          unsigned int *const scale = priv->quadrature_scale + id;
   703          unsigned int mode_cfg = priv->count_mode[id] << 1;
   704          unsigned int *const synchronous_mode = priv->synchronous_mode + 
id;
   705          const unsigned int idr_cfg = priv->index_polarity[id] << 1;
   706          const int base_offset = priv->base + 2 * id + 1;
   707  
   708          if (cnt_function == QUAD8_COUNT_FUNCTION_PULSE_DIRECTION) {
   709                  *quadrature_mode = 0;
   710  
   711                  /* Quadrature scaling only available in quadrature mode 
*/
   712                  *scale = 0;
   713  
   714                  /* Synchronous function not supported in non-quadrature 
mode */
   715                  if (*synchronous_mode) {
   716                          *synchronous_mode = 0;
   717                          /* Disable synchronous function mode */
   718                          outb(QUAD8_CTR_IDR | idr_cfg, base_offset);
   719                  }
   720          } else {
   721                  *quadrature_mode = 1;
   722  
   723                  switch (cnt_function) {
   724                  case QUAD8_COUNT_FUNCTION_QUADRATURE_X1:
   725                          *scale = 0;
   726                          mode_cfg |= QUAD8_CMR_QUADRATURE_X1;
   727                          break;
   728                  case QUAD8_COUNT_FUNCTION_QUADRATURE_X2:
   729                          *scale = 1;
   730                          mode_cfg |= QUAD8_CMR_QUADRATURE_X2;
   731                          break;
   732                  case QUAD8_COUNT_FUNCTION_QUADRATURE_X4:
   733                          *scale = 2;
   734                          mode_cfg |= QUAD8_CMR_QUADRATURE_X4;
   735                          break;
   736                  default: return -EINVAL;
   737                  }
   738          }
   739  
   740          /* Load mode configuration to Counter Mode Register */
   741          outb(QUAD8_CTR_CMR | mode_cfg, base_offset);
   742  
   743          return 0;
   744  }
   745  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Reply via email to