All of lore.kernel.org
 help / color / mirror / Atom feed
* [chrome-os:chromeos-5.10 11/17] drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *'
@ 2021-05-26 14:05 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-26 14:05 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 12313 bytes --]

tree:   https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head:   f9e5ab338f92f4f14bfe5b5d340a6947495d5b2c
commit: 13f1f28be1c3177ad97e5b9015b9658705064a3f [11/17] FIXUP: FROMGIT: PM / devfreq: Add cpu based scaling support to passive governor
config: um-randconfig-r024-20210526 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
        git fetch --no-tags chrome-os chromeos-5.10
        git checkout 13f1f28be1c3177ad97e5b9015b9658705064a3f
        # save the attached .config to linux build tree
        make W=1 ARCH=um 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

      52 |  struct devfreq_cpu_data *cpu_data;
         |                           ^~~~~~~~
   drivers/devfreq/governor_passive.c:58:12: error: lvalue required as left operand of assignment
      58 |   cpu_data = p_data->cpudata[cpu];
         |            ^
   drivers/devfreq/governor_passive.c:59:7: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
      59 |   if (!cpu_data || cpu_data->first_cpu != cpu)
         |       ^
   drivers/devfreq/governor_passive.c:59:28: error: 'struct cpuinfo_um' has no member named 'first_cpu'
      59 |   if (!cpu_data || cpu_data->first_cpu != cpu)
         |                            ^~
   drivers/devfreq/governor_passive.c:63:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
      63 |   cpu_cur = cpu_data->cur_freq * HZ_PER_KHZ;
         |                     ^~
   drivers/devfreq/governor_passive.c:64:49: error: 'struct cpuinfo_um' has no member named 'dev'
      64 |   freq = get_taget_freq_by_required_opp(cpu_data->dev,
         |                                                 ^~
   drivers/devfreq/governor_passive.c:65:14: error: 'struct cpuinfo_um' has no member named 'opp_table'
      65 |      cpu_data->opp_table,
         |              ^~
   drivers/devfreq/governor_passive.c:75:21: error: 'struct cpuinfo_um' has no member named 'min_freq'
      75 |   cpu_min = cpu_data->min_freq;
         |                     ^~
   drivers/devfreq/governor_passive.c:76:21: error: 'struct cpuinfo_um' has no member named 'max_freq'
      76 |   cpu_max = cpu_data->max_freq;
         |                     ^~
   drivers/devfreq/governor_passive.c:77:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
      77 |   cpu_cur = cpu_data->cur_freq;
         |                     ^~
   In file included from arch/x86/um/asm/processor.h:41,
                    from include/linux/spinlock_up.h:8,
                    from include/linux/spinlock.h:92,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from drivers/devfreq/governor_passive.c:10:
   drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_notifier_call':
   arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
      97 | #define cpu_data (&boot_cpu_data)
         |                   ^
   drivers/devfreq/governor_passive.c:165:27: note: in expansion of macro 'cpu_data'
     165 |  struct devfreq_cpu_data *cpu_data;
         |                           ^~~~~~~~
   drivers/devfreq/governor_passive.c:174:11: error: lvalue required as left operand of assignment
     174 |  cpu_data = data->cpudata[freqs->policy->cpu];
         |           ^
   drivers/devfreq/governor_passive.c:175:14: error: 'struct cpuinfo_um' has no member named 'cur_freq'
     175 |  if (cpu_data->cur_freq == freqs->new)
         |              ^~
   drivers/devfreq/governor_passive.c:178:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
     178 |  cur_freq = cpu_data->cur_freq;
         |                     ^~
   drivers/devfreq/governor_passive.c:179:10: error: 'struct cpuinfo_um' has no member named 'cur_freq'
     179 |  cpu_data->cur_freq = freqs->new;
         |          ^~
   drivers/devfreq/governor_passive.c:185:11: error: 'struct cpuinfo_um' has no member named 'cur_freq'
     185 |   cpu_data->cur_freq = cur_freq;
         |           ^~
   In file included from arch/x86/um/asm/processor.h:41,
                    from include/linux/spinlock_up.h:8,
                    from include/linux/spinlock.h:92,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from drivers/devfreq/governor_passive.c:10:
   drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_register_notifier':
   arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
      97 | #define cpu_data (&boot_cpu_data)
         |                   ^
   drivers/devfreq/governor_passive.c:199:27: note: in expansion of macro 'cpu_data'
     199 |  struct devfreq_cpu_data *cpu_data;
         |                           ^~~~~~~~
   drivers/devfreq/governor_passive.c:221:13: error: lvalue required as left operand of assignment
     221 |    cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
         |             ^
   drivers/devfreq/governor_passive.c:222:8: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
     222 |    if (!cpu_data) {
         |        ^
   drivers/devfreq/governor_passive.c:240:12: error: 'struct cpuinfo_um' has no member named 'dev'
     240 |    cpu_data->dev = cpu_dev;
         |            ^~
   drivers/devfreq/governor_passive.c:241:12: error: 'struct cpuinfo_um' has no member named 'opp_table'
     241 |    cpu_data->opp_table = opp_table;
         |            ^~
   drivers/devfreq/governor_passive.c:242:12: error: 'struct cpuinfo_um' has no member named 'first_cpu'
     242 |    cpu_data->first_cpu = cpumask_first(policy->related_cpus);
         |            ^~
   drivers/devfreq/governor_passive.c:243:12: error: 'struct cpuinfo_um' has no member named 'cur_freq'
     243 |    cpu_data->cur_freq = policy->cur;
         |            ^~
   drivers/devfreq/governor_passive.c:244:12: error: 'struct cpuinfo_um' has no member named 'min_freq'
     244 |    cpu_data->min_freq = policy->cpuinfo.min_freq;
         |            ^~
   drivers/devfreq/governor_passive.c:245:12: error: 'struct cpuinfo_um' has no member named 'max_freq'
     245 |    cpu_data->max_freq = policy->cpuinfo.max_freq;
         |            ^~
>> drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *' [-Werror=incompatible-pointer-types]
     247 |    p_data->cpudata[cpu] = cpu_data;
         |                         ^
   In file included from arch/x86/um/asm/processor.h:41,
                    from include/linux/spinlock_up.h:8,
                    from include/linux/spinlock.h:92,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from drivers/devfreq/governor_passive.c:10:
   drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_unregister_notifier':
   arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
      97 | #define cpu_data (&boot_cpu_data)
         |                   ^
   drivers/devfreq/governor_passive.c:272:27: note: in expansion of macro 'cpu_data'
     272 |  struct devfreq_cpu_data *cpu_data;
         |                           ^~~~~~~~
   drivers/devfreq/governor_passive.c:279:12: error: lvalue required as left operand of assignment
     279 |   cpu_data = p_data->cpudata[cpu];
         |            ^
   In file included from arch/x86/um/asm/processor.h:41,
                    from include/linux/spinlock_up.h:8,
                    from include/linux/spinlock.h:92,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from drivers/devfreq/governor_passive.c:10:
   arch/um/include/asm/processor-generic.h:97:18: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
      97 | #define cpu_data (&boot_cpu_data)
         |                  ^
   drivers/devfreq/governor_passive.c:280:7: note: in expansion of macro 'cpu_data'
     280 |   if (cpu_data) {
         |       ^~~~~~~~
   drivers/devfreq/governor_passive.c:281:16: error: 'struct cpuinfo_um' has no member named 'opp_table'
     281 |    if (cpu_data->opp_table)
         |                ^~
   drivers/devfreq/governor_passive.c:282:38: error: 'struct cpuinfo_um' has no member named 'opp_table'
     282 |     dev_pm_opp_put_opp_table(cpu_data->opp_table);
         |                                      ^~
   drivers/devfreq/governor_passive.c:284:13: error: lvalue required as left operand of assignment
     284 |    cpu_data = NULL;
         |             ^
   cc1: some warnings being treated as errors


vim +247 drivers/devfreq/governor_passive.c

   192	
   193	static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
   194	{
   195		struct devfreq_passive_data *p_data
   196				= (struct devfreq_passive_data *)devfreq->data;
   197		struct device *dev = devfreq->dev.parent;
   198		struct opp_table *opp_table = NULL;
   199		struct devfreq_cpu_data *cpu_data;
   200		struct cpufreq_policy *policy;
   201		struct device *cpu_dev;
   202		unsigned int cpu;
   203		int ret;
   204	
   205		get_online_cpus();
   206	
   207		p_data->nb.notifier_call = cpufreq_passive_notifier_call;
   208		ret = cpufreq_register_notifier(&p_data->nb, CPUFREQ_TRANSITION_NOTIFIER);
   209		if (ret) {
   210			dev_err(dev, "failed to register cpufreq notifier\n");
   211			p_data->nb.notifier_call = NULL;
   212			goto out;
   213		}
   214	
   215		for_each_online_cpu(cpu) {
   216			if (p_data->cpudata[cpu])
   217				continue;
   218	
   219			policy = cpufreq_cpu_get(cpu);
   220			if (policy) {
   221				cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
   222				if (!cpu_data) {
   223					ret = -ENOMEM;
   224					goto out;
   225				}
   226	
   227				cpu_dev = get_cpu_device(cpu);
   228				if (!cpu_dev) {
   229					dev_err(dev, "failed to get cpu device\n");
   230					ret = -ENODEV;
   231					goto out;
   232				}
   233	
   234				opp_table = dev_pm_opp_get_opp_table(cpu_dev);
   235				if (IS_ERR(opp_table)) {
   236					ret = PTR_ERR(opp_table);
   237					goto out;
   238				}
   239	
   240				cpu_data->dev = cpu_dev;
   241				cpu_data->opp_table = opp_table;
   242				cpu_data->first_cpu = cpumask_first(policy->related_cpus);
   243				cpu_data->cur_freq = policy->cur;
   244				cpu_data->min_freq = policy->cpuinfo.min_freq;
   245				cpu_data->max_freq = policy->cpuinfo.max_freq;
   246	
 > 247				p_data->cpudata[cpu] = cpu_data;
   248				cpufreq_cpu_put(policy);
   249			} else {
   250				ret = -EPROBE_DEFER;
   251				goto out;
   252			}
   253		}
   254	out:
   255		put_online_cpus();
   256		if (ret)
   257			return ret;
   258	
   259		mutex_lock(&devfreq->lock);
   260		ret = devfreq_update_target(devfreq, 0L);
   261		mutex_unlock(&devfreq->lock);
   262		if (ret)
   263			dev_err(dev, "failed to update the frequency\n");
   264	
   265		return ret;
   266	}
   267	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 14636 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-26 14:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-26 14:05 [chrome-os:chromeos-5.10 11/17] drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.