Hi William,

[auto build test WARNING on iio/togreg]
[cannot apply to v4.13-rc3 next-20170731]
[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/William-Breathitt-Gray/iio-Introduce-the-generic-counter-interface/20170801-050943
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   drivers/iio/industrialio-counter.c: In function 
'__iio_counter_value_ext_info_alloc':
>> drivers/iio/industrialio-counter.c:466:23: warning: assignment makes integer 
>> from pointer without a cast
      ext_info[i].private = (void *)&trigger_pos->signal->id;
                          ^
   drivers/iio/industrialio-counter.c:476:23: warning: assignment makes integer 
from pointer without a cast
      ext_info[i].private = (void *)&trigger_pos->signal->id;
                          ^

vim +466 drivers/iio/industrialio-counter.c

   388  
   389  static int __iio_counter_value_ext_info_alloc(struct iio_chan_spec 
*const chan,
   390          struct iio_counter_value *const value)
   391  {
   392          const struct iio_chan_spec_ext_info ext_info_default[] = {
   393                  {
   394                          .name = "name",
   395                          .shared = IIO_SEPARATE,
   396                          .read = __iio_counter_value_name_read
   397                  },
   398                  IIO_ENUM("function", IIO_SEPARATE, 
&value->function_enum),
   399                  {
   400                          .name = "function_available",
   401                          .shared = IIO_SEPARATE,
   402                          .read = iio_enum_available_read,
   403                          .private = (uintptr_t)((void 
*)&value->function_enum)
   404                  },
   405                  {
   406                          .name = "triggers",
   407                          .shared = IIO_SEPARATE,
   408                          .read = __iio_counter_value_triggers_read
   409                  }
   410          };
   411          const size_t num_default = ARRAY_SIZE(ext_info_default);
   412          const struct iio_chan_spec_ext_info ext_info_trigger[] = {
   413                  {
   414                          .shared = IIO_SEPARATE,
   415                          .read = __iio_counter_trigger_mode_read,
   416                          .write = __iio_counter_trigger_mode_write
   417                  },
   418                  {
   419                          .shared = IIO_SEPARATE,
   420                          .read = 
__iio_counter_trigger_mode_available_read
   421                  }
   422          };
   423          const size_t num_ext_info_trigger = 
ARRAY_SIZE(ext_info_trigger);
   424          const struct list_head *pos;
   425          size_t num_triggers = 0;
   426          size_t num_triggers_ext_info;
   427          size_t num_ext_info;
   428          int err;
   429          struct iio_chan_spec_ext_info *ext_info;
   430          const struct iio_counter_trigger *trigger_pos;
   431          size_t i;
   432  
   433          value->function_enum.items = value->function_modes;
   434          value->function_enum.num_items = value->num_function_modes;
   435          value->function_enum.set = __iio_counter_value_function_set;
   436          value->function_enum.get = __iio_counter_value_function_get;
   437  
   438          mutex_lock(&value->trigger_list_lock);
   439  
   440          list_for_each(pos, &value->trigger_list)
   441                  num_triggers++;
   442  
   443          num_triggers_ext_info = num_ext_info_trigger * num_triggers;
   444          num_ext_info = num_default + num_triggers_ext_info + 1;
   445  
   446          ext_info = kmalloc_array(num_ext_info, sizeof(*ext_info), 
GFP_KERNEL);
   447          if (!ext_info) {
   448                  err = -ENOMEM;
   449                  goto err_ext_info_alloc;
   450          }
   451          ext_info[num_ext_info - 1].name = NULL;
   452  
   453          memcpy(ext_info, ext_info_default, sizeof(ext_info_default));
   454          for (i = 0; i < num_triggers_ext_info; i += 
num_ext_info_trigger)
   455                  memcpy(ext_info + num_default + i, ext_info_trigger,
   456                          sizeof(ext_info_trigger));
   457  
   458          i = num_default;
   459          list_for_each_entry(trigger_pos, &value->trigger_list, list) {
   460                  ext_info[i].name = kasprintf(GFP_KERNEL, 
"trigger_signal%d-%d",
   461                          chan->channel, trigger_pos->signal->id);
   462                  if (!ext_info[i].name) {
   463                          err = -ENOMEM;
   464                          goto err_name_alloc;
   465                  }
 > 466                  ext_info[i].private = (void *)&trigger_pos->signal->id;
   467                  i++;
   468  
   469                  ext_info[i].name = kasprintf(GFP_KERNEL,
   470                          "trigger_signal%d-%d_available",
   471                          chan->channel, trigger_pos->signal->id);
   472                  if (!ext_info[i].name) {
   473                          err = -ENOMEM;
   474                          goto err_name_alloc;
   475                  }
   476                  ext_info[i].private = (void *)&trigger_pos->signal->id;
   477                  i++;
   478          }
   479  
   480          chan->ext_info = ext_info;
   481  
   482          mutex_unlock(&value->trigger_list_lock);
   483  
   484          return 0;
   485  
   486  err_name_alloc:
   487          while (i-- > num_default)
   488                  kfree(ext_info[i].name);
   489          kfree(ext_info);
   490  err_ext_info_alloc:
   491          mutex_unlock(&value->trigger_list_lock);
   492          return err;
   493  }
   494  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to