[Intel-gfx] [drm-intel:topic/core-for-CI 15/15] drivers/acpi/processor_driver.c:69:7: error: 'INTEL_FAM6_ICELAKE_MOBILE' undeclared here (not in a function)

kbuild test robot lkp at intel.com
Thu Apr 11 01:09:32 UTC 2019


tree:   git://anongit.freedesktop.org/drm-intel topic/core-for-CI
head:   b573fba52f339dc4fadef7282af4a9413fd6173d
commit: b573fba52f339dc4fadef7282af4a9413fd6173d [15/15] ICL HACK: Disable ACPI idle driver
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout b573fba52f339dc4fadef7282af4a9413fd6173d
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   drivers/acpi/processor_driver.c:67:23: error: 'X86_VENDOR_INTEL' undeclared here (not in a function); did you mean 'X86_VENDOR_ANY'?
    #define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
                          ^
   drivers/acpi/processor_driver.c:69:2: note: in expansion of macro 'ICPU'
     ICPU(INTEL_FAM6_ICELAKE_MOBILE), /* ICL */
     ^~~~
>> drivers/acpi/processor_driver.c:69:7: error: 'INTEL_FAM6_ICELAKE_MOBILE' undeclared here (not in a function)
     ICPU(INTEL_FAM6_ICELAKE_MOBILE), /* ICL */
          ^
   drivers/acpi/processor_driver.c:67:44: note: in definition of macro 'ICPU'
    #define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
                                               ^~~~~
   drivers/acpi/processor_driver.c: In function '__acpi_processor_start':
>> drivers/acpi/processor_driver.c:256:7: error: implicit declaration of function 'x86_match_cpu'; did you mean 'on_each_cpu'? [-Werror=implicit-function-declaration]
     id = x86_match_cpu(intel_cpu_ids);
          ^~~~~~~~~~~~~
          on_each_cpu
   drivers/acpi/processor_driver.c:256:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     id = x86_match_cpu(intel_cpu_ids);
        ^
   cc1: some warnings being treated as errors

vim +/INTEL_FAM6_ICELAKE_MOBILE +69 drivers/acpi/processor_driver.c

    66	
  > 67	#define ICPU(model)	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
    68	static const struct x86_cpu_id intel_cpu_ids[] = {
  > 69		ICPU(INTEL_FAM6_ICELAKE_MOBILE),	/* ICL */
    70		{}
    71	};
    72	MODULE_DEVICE_TABLE(x86cpu, intel_cpu_ids);
    73	
    74	static struct device_driver acpi_processor_driver = {
    75		.name = "processor",
    76		.bus = &cpu_subsys,
    77		.acpi_match_table = processor_device_ids,
    78		.probe = acpi_processor_start,
    79		.remove = acpi_processor_stop,
    80	};
    81	
    82	static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
    83	{
    84		struct acpi_device *device = data;
    85		struct acpi_processor *pr;
    86		int saved;
    87	
    88		if (device->handle != handle)
    89			return;
    90	
    91		pr = acpi_driver_data(device);
    92		if (!pr)
    93			return;
    94	
    95		switch (event) {
    96		case ACPI_PROCESSOR_NOTIFY_PERFORMANCE:
    97			saved = pr->performance_platform_limit;
    98			acpi_processor_ppc_has_changed(pr, 1);
    99			if (saved == pr->performance_platform_limit)
   100				break;
   101			acpi_bus_generate_netlink_event(device->pnp.device_class,
   102							  dev_name(&device->dev), event,
   103							  pr->performance_platform_limit);
   104			break;
   105		case ACPI_PROCESSOR_NOTIFY_POWER:
   106			acpi_processor_power_state_has_changed(pr);
   107			acpi_bus_generate_netlink_event(device->pnp.device_class,
   108							  dev_name(&device->dev), event, 0);
   109			break;
   110		case ACPI_PROCESSOR_NOTIFY_THROTTLING:
   111			acpi_processor_tstate_has_changed(pr);
   112			acpi_bus_generate_netlink_event(device->pnp.device_class,
   113							  dev_name(&device->dev), event, 0);
   114			break;
   115		default:
   116			ACPI_DEBUG_PRINT((ACPI_DB_INFO,
   117					  "Unsupported event [0x%x]\n", event));
   118			break;
   119		}
   120	
   121		return;
   122	}
   123	
   124	static int __acpi_processor_start(struct acpi_device *device);
   125	
   126	static int acpi_soft_cpu_online(unsigned int cpu)
   127	{
   128		struct acpi_processor *pr = per_cpu(processors, cpu);
   129		struct acpi_device *device;
   130	
   131		if (!pr || acpi_bus_get_device(pr->handle, &device))
   132			return 0;
   133		/*
   134		 * CPU got physically hotplugged and onlined for the first time:
   135		 * Initialize missing things.
   136		 */
   137		if (pr->flags.need_hotplug_init) {
   138			int ret;
   139	
   140			pr_info("Will online and init hotplugged CPU: %d\n",
   141				pr->id);
   142			pr->flags.need_hotplug_init = 0;
   143			ret = __acpi_processor_start(device);
   144			WARN(ret, "Failed to start CPU: %d\n", pr->id);
   145		} else {
   146			/* Normal CPU soft online event. */
   147			acpi_processor_ppc_has_changed(pr, 0);
   148			acpi_processor_hotplug(pr);
   149			acpi_processor_reevaluate_tstate(pr, false);
   150			acpi_processor_tstate_has_changed(pr);
   151		}
   152		return 0;
   153	}
   154	
   155	static int acpi_soft_cpu_dead(unsigned int cpu)
   156	{
   157		struct acpi_processor *pr = per_cpu(processors, cpu);
   158		struct acpi_device *device;
   159	
   160		if (!pr || acpi_bus_get_device(pr->handle, &device))
   161			return 0;
   162	
   163		acpi_processor_reevaluate_tstate(pr, true);
   164		return 0;
   165	}
   166	
   167	#ifdef CONFIG_ACPI_CPU_FREQ_PSS
   168	static int acpi_pss_perf_init(struct acpi_processor *pr,
   169			struct acpi_device *device)
   170	{
   171		int result = 0;
   172	
   173		acpi_processor_ppc_has_changed(pr, 0);
   174	
   175		acpi_processor_get_throttling_info(pr);
   176	
   177		if (pr->flags.throttling)
   178			pr->flags.limit = 1;
   179	
   180		pr->cdev = thermal_cooling_device_register("Processor", device,
   181							   &processor_cooling_ops);
   182		if (IS_ERR(pr->cdev)) {
   183			result = PTR_ERR(pr->cdev);
   184			return result;
   185		}
   186	
   187		dev_dbg(&device->dev, "registered as cooling_device%d\n",
   188			pr->cdev->id);
   189	
   190		result = sysfs_create_link(&device->dev.kobj,
   191					   &pr->cdev->device.kobj,
   192					   "thermal_cooling");
   193		if (result) {
   194			dev_err(&device->dev,
   195				"Failed to create sysfs link 'thermal_cooling'\n");
   196			goto err_thermal_unregister;
   197		}
   198	
   199		result = sysfs_create_link(&pr->cdev->device.kobj,
   200					   &device->dev.kobj,
   201					   "device");
   202		if (result) {
   203			dev_err(&pr->cdev->device,
   204				"Failed to create sysfs link 'device'\n");
   205			goto err_remove_sysfs_thermal;
   206		}
   207	
   208		return 0;
   209	
   210	 err_remove_sysfs_thermal:
   211		sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
   212	 err_thermal_unregister:
   213		thermal_cooling_device_unregister(pr->cdev);
   214	
   215		return result;
   216	}
   217	
   218	static void acpi_pss_perf_exit(struct acpi_processor *pr,
   219			struct acpi_device *device)
   220	{
   221		if (pr->cdev) {
   222			sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
   223			sysfs_remove_link(&pr->cdev->device.kobj, "device");
   224			thermal_cooling_device_unregister(pr->cdev);
   225			pr->cdev = NULL;
   226		}
   227	}
   228	#else
   229	static inline int acpi_pss_perf_init(struct acpi_processor *pr,
   230			struct acpi_device *device)
   231	{
   232		return 0;
   233	}
   234	
   235	static inline void acpi_pss_perf_exit(struct acpi_processor *pr,
   236			struct acpi_device *device) {}
   237	#endif /* CONFIG_ACPI_CPU_FREQ_PSS */
   238	
   239	static int __acpi_processor_start(struct acpi_device *device)
   240	{
   241		struct acpi_processor *pr = acpi_driver_data(device);
   242		const struct x86_cpu_id *id;
   243		acpi_status status;
   244		int result = 0;
   245	
   246		if (!pr)
   247			return -ENODEV;
   248	
   249		if (pr->flags.need_hotplug_init)
   250			return 0;
   251	
   252		result = acpi_cppc_processor_probe(pr);
   253		if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS))
   254			dev_dbg(&device->dev, "CPPC data invalid or not present\n");
   255	
 > 256		id = x86_match_cpu(intel_cpu_ids);
   257		if (!id && (!cpuidle_get_driver() || cpuidle_get_driver() ==
   258			&acpi_idle_driver))
   259			acpi_processor_power_init(pr);
   260	
   261		result = acpi_pss_perf_init(pr, device);
   262		if (result)
   263			goto err_power_exit;
   264	
   265		status = acpi_install_notify_handler(device->handle, ACPI_DEVICE_NOTIFY,
   266						     acpi_processor_notify, device);
   267		if (ACPI_SUCCESS(status))
   268			return 0;
   269	
   270		result = -ENODEV;
   271		acpi_pss_perf_exit(pr, device);
   272	
   273	err_power_exit:
   274		acpi_processor_power_exit(pr);
   275		return result;
   276	}
   277	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 42339 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190411/03591e3f/attachment-0001.gz>


More information about the Intel-gfx mailing list