[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/dri-devel/attachments/20190411/03591e3f/attachment-0001.gz>
More information about the dri-devel
mailing list