Hi Sam,

[auto build test ERROR on pm/linux-next -- if it's inappropriate base, please 
suggest rules for selecting the more suitable base]

url:    
https://github.com/0day-ci/linux/commits/B-lint-Czobor/cpufreq-interactive-New-interactive-governor/20151028-020715
config: sparc64-allyesconfig (attached as .config)
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   drivers/cpufreq/cpufreq_interactive.c: In function 'store_hispeed_freq':
   drivers/cpufreq/cpufreq_interactive.c:637:2: error: implicit declaration of 
function 'strict_strtoull' [-Werror=implicit-function-declaration]
     ret = strict_strtoull(buf, 0, &val);
     ^
   drivers/cpufreq/cpufreq_interactive.c: In function 'store_go_hispeed_load':
   drivers/cpufreq/cpufreq_interactive.c:660:2: error: implicit declaration of 
function 'strict_strtoul' [-Werror=implicit-function-declaration]
     ret = strict_strtoul(buf, 0, &val);
     ^
   drivers/cpufreq/cpufreq_interactive.c: In function 
'cpufreq_interactive_idle_notifier':
   drivers/cpufreq/cpufreq_interactive.c:827:7: error: 'IDLE_START' undeclared 
(first use in this function)
     case IDLE_START:
          ^
   drivers/cpufreq/cpufreq_interactive.c:827:7: note: each undeclared 
identifier is reported only once for each function it appears in
   drivers/cpufreq/cpufreq_interactive.c:830:7: error: 'IDLE_END' undeclared 
(first use in this function)
     case IDLE_END:
          ^
   drivers/cpufreq/cpufreq_interactive.c: In function 
'cpufreq_governor_interactive':
   drivers/cpufreq/cpufreq_interactive.c:895:3: error: implicit declaration of 
function 'idle_notifier_register' [-Werror=implicit-function-declaration]
      idle_notifier_register(&cpufreq_interactive_idle_nb);
      ^
>> drivers/cpufreq/cpufreq_interactive.c:918:3: error: implicit declaration of 
>> function 'idle_notifier_unregister' [-Werror=implicit-function-declaration]
      idle_notifier_unregister(&cpufreq_interactive_idle_nb);
      ^
   cc1: some warnings being treated as errors

vim +/idle_notifier_unregister +918 drivers/cpufreq/cpufreq_interactive.c

   821  
   822  static int cpufreq_interactive_idle_notifier(struct notifier_block *nb,
   823                                               unsigned long val,
   824                                               void *data)
   825  {
   826          switch (val) {
 > 827          case IDLE_START:
   828                  cpufreq_interactive_idle_start();
   829                  break;
   830          case IDLE_END:
   831                  cpufreq_interactive_idle_end();
   832                  break;
   833          }
   834  
   835          return 0;
   836  }
   837  
   838  static struct notifier_block cpufreq_interactive_idle_nb = {
   839          .notifier_call = cpufreq_interactive_idle_notifier,
   840  };
   841  
   842  static int cpufreq_governor_interactive(struct cpufreq_policy *policy,
   843                  unsigned int event)
   844  {
   845          int rc;
   846          unsigned int j;
   847          struct cpufreq_interactive_cpuinfo *pcpu;
   848          struct cpufreq_frequency_table *freq_table;
   849  
   850          switch (event) {
   851          case CPUFREQ_GOV_START:
   852                  if (!cpu_online(policy->cpu))
   853                          return -EINVAL;
   854  
   855                  freq_table =
   856                          cpufreq_frequency_get_table(policy->cpu);
   857  
   858                  for_each_cpu(j, policy->cpus) {
   859                          pcpu = &per_cpu(cpuinfo, j);
   860                          pcpu->policy = policy;
   861                          pcpu->target_freq = policy->cur;
   862                          pcpu->freq_table = freq_table;
   863                          pcpu->target_set_time_in_idle =
   864                                  get_cpu_idle_time_us(j,
   865                                               &pcpu->target_set_time);
   866                          pcpu->floor_freq = pcpu->target_freq;
   867                          pcpu->floor_validate_time =
   868                                  pcpu->target_set_time;
   869                          pcpu->hispeed_validate_time =
   870                                  pcpu->target_set_time;
   871                          pcpu->governor_enabled = 1;
   872                          smp_wmb();
   873                  }
   874  
   875                  if (!hispeed_freq)
   876                          hispeed_freq = policy->max;
   877  
   878                  /*
   879                   * Do not register the idle hook and create sysfs
   880                   * entries if we have already done so.
   881                   */
   882                  if (atomic_inc_return(&active_count) > 1)
   883                          return 0;
   884  
   885                  rc = sysfs_create_group(cpufreq_global_kobject,
   886                                  &interactive_attr_group);
   887                  if (rc)
   888                          return rc;
   889  
   890                  rc = 
input_register_handler(&cpufreq_interactive_input_handler);
   891                  if (rc)
   892                          pr_warn("%s: failed to register input 
handler\n",
   893                                  __func__);
   894  
   895                  idle_notifier_register(&cpufreq_interactive_idle_nb);
   896                  break;
   897  
   898          case CPUFREQ_GOV_STOP:
   899                  for_each_cpu(j, policy->cpus) {
   900                          pcpu = &per_cpu(cpuinfo, j);
   901                          pcpu->governor_enabled = 0;
   902                          smp_wmb();
   903                          del_timer_sync(&pcpu->cpu_timer);
   904  
   905                          /*
   906                           * Reset idle exit time since we may cancel the 
timer
   907                           * before it can run after the last idle exit 
time,
   908                           * to avoid tripping the check in idle exit for 
a timer
   909                           * that is trying to run.
   910                           */
   911                          pcpu->idle_exit_time = 0;
   912                  }
   913  
   914                  flush_work(&freq_scale_down_work);
   915                  if (atomic_dec_return(&active_count) > 0)
   916                          return 0;
   917  
 > 918                  idle_notifier_unregister(&cpufreq_interactive_idle_nb);
   919                  
input_unregister_handler(&cpufreq_interactive_input_handler);
   920                  sysfs_remove_group(cpufreq_global_kobject,
   921                                  &interactive_attr_group);

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

Attachment: .config.gz
Description: Binary data

Reply via email to