Re: [PATCH V2] hwmon: add fan/pwm driver for corsair h100i platinum
by kernel test robot
Hi jaap,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on hwmon/hwmon-next]
[also build test WARNING on v5.8-rc5 next-20200717]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/jaap-aarts/hwmon-add-fan-pwm-dri...
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwmon/corsair_hydro_i_pro.c:175:5: warning: no previous prototype for function 'set_fan_pwm_curve' [-Wmissing-prototypes]
int set_fan_pwm_curve(struct hydro_i_pro_device *hdev,
^
drivers/hwmon/corsair_hydro_i_pro.c:175:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int set_fan_pwm_curve(struct hydro_i_pro_device *hdev,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:222:5: warning: no previous prototype for function 'set_fan_target_rpm' [-Wmissing-prototypes]
int set_fan_target_rpm(struct hydro_i_pro_device *hdev,
^
drivers/hwmon/corsair_hydro_i_pro.c:222:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int set_fan_target_rpm(struct hydro_i_pro_device *hdev,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:258:5: warning: no previous prototype for function 'get_fan_current_rpm' [-Wmissing-prototypes]
int get_fan_current_rpm(struct hydro_i_pro_device *hdev,
^
drivers/hwmon/corsair_hydro_i_pro.c:258:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int get_fan_current_rpm(struct hydro_i_pro_device *hdev,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:292:5: warning: no previous prototype for function 'set_fan_target_pwm' [-Wmissing-prototypes]
int set_fan_target_pwm(struct hydro_i_pro_device *hdev,
^
drivers/hwmon/corsair_hydro_i_pro.c:292:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int set_fan_target_pwm(struct hydro_i_pro_device *hdev,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:327:9: warning: no previous prototype for function 'hwmon_is_visible' [-Wmissing-prototypes]
umode_t hwmon_is_visible(const void *d, enum hwmon_sensor_types type, u32 attr,
^
drivers/hwmon/corsair_hydro_i_pro.c:327:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
umode_t hwmon_is_visible(const void *d, enum hwmon_sensor_types type, u32 attr,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:481:5: warning: no previous prototype for function 'hwmon_read' [-Wmissing-prototypes]
int hwmon_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
^
drivers/hwmon/corsair_hydro_i_pro.c:481:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int hwmon_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:561:6: warning: no previous prototype for function 'does_fan_exist' [-Wmissing-prototypes]
bool does_fan_exist(struct hydro_i_pro_device *hdev, int channel)
^
drivers/hwmon/corsair_hydro_i_pro.c:561:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool does_fan_exist(struct hydro_i_pro_device *hdev, int channel)
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:589:5: warning: no previous prototype for function 'get_fan_count' [-Wmissing-prototypes]
int get_fan_count(struct hydro_i_pro_device *hdev)
^
drivers/hwmon/corsair_hydro_i_pro.c:589:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int get_fan_count(struct hydro_i_pro_device *hdev)
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:598:6: warning: no previous prototype for function 'hwmon_init' [-Wmissing-prototypes]
void hwmon_init(struct hydro_i_pro_device *hdev)
^
drivers/hwmon/corsair_hydro_i_pro.c:598:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void hwmon_init(struct hydro_i_pro_device *hdev)
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:671:5: warning: no previous prototype for function 'init_device' [-Wmissing-prototypes]
int init_device(struct usb_device *udev)
^
drivers/hwmon/corsair_hydro_i_pro.c:671:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int init_device(struct usb_device *udev)
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:688:5: warning: no previous prototype for function 'deinit_device' [-Wmissing-prototypes]
int deinit_device(struct usb_device *udev)
^
drivers/hwmon/corsair_hydro_i_pro.c:688:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int deinit_device(struct usb_device *udev)
^
static
>> drivers/hwmon/corsair_hydro_i_pro.c:166:19: warning: unused variable 'SUCCESS' [-Wunused-const-variable]
static const char SUCCESS[SUCCES_LENGTH - 1] = { 0x12, 0x34 };
^
12 warnings generated.
vim +/set_fan_pwm_curve +175 drivers/hwmon/corsair_hydro_i_pro.c
163
164 #define SUCCES_LENGTH 3
165 #define SUCCES_CODE (0x12, 0x34)
> 166 static const char SUCCESS[SUCCES_LENGTH - 1] = { 0x12, 0x34 };
167
168 static bool check_succes(enum opcodes command, char ret[SUCCES_LENGTH])
169 {
170 char success[SUCCES_LENGTH] = { command, SUCCES_CODE };
171
172 return strncmp(ret, success, SUCCES_LENGTH) == 0;
173 }
174
> 175 int set_fan_pwm_curve(struct hydro_i_pro_device *hdev,
176 struct hwmon_fan_data *fan_data,
177 struct curve_point point[7])
178 {
179 int retval;
180 int wrote;
181 int sndpipe = usb_sndbulkpipe(hdev->udev, hdev->bulk_out_endpointAddr);
182 int rcvpipe = usb_rcvbulkpipe(hdev->udev, hdev->bulk_in_endpointAddr);
183 unsigned char *send_buf = hdev->bulk_out_buffer;
184 unsigned char *recv_buf = hdev->bulk_in_buffer;
185
186 memcpy(fan_data->curve, point, sizeof(fan_data->curve));
187
188 send_buf[0] = PWM_FAN_CURVE_CMD;
189 send_buf[1] = fan_data->fan_channel;
190 send_buf[2] = point[0].temp;
191 send_buf[3] = point[1].temp;
192 send_buf[4] = point[2].temp;
193 send_buf[5] = point[3].temp;
194 send_buf[6] = point[4].temp;
195 send_buf[7] = point[5].temp;
196 send_buf[8] = point[6].temp;
197 send_buf[9] = point[0].pwm;
198 send_buf[10] = point[1].pwm;
199 send_buf[11] = point[2].pwm;
200 send_buf[12] = point[3].pwm;
201 send_buf[13] = point[4].pwm;
202 send_buf[14] = point[5].pwm;
203 send_buf[15] = point[6].pwm;
204
205 retval = usb_bulk_msg(hdev->udev, sndpipe, send_buf, 16, &wrote, 100);
206 if (retval != 0)
207 return retval;
208
209 retval = usb_bulk_msg(hdev->udev, rcvpipe, recv_buf, 4, &wrote, 100);
210 if (retval != 0)
211 return retval;
212
213 if (!check_succes(send_buf[0], recv_buf)) {
214 dev_info(&hdev->udev->dev,
215 "[*] failed setting fan curve %d,%d,%d/%d\n",
216 recv_buf[0], recv_buf[1], recv_buf[2], recv_buf[3]);
217 return -EINVAL;
218 }
219 return 0;
220 }
221
> 222 int set_fan_target_rpm(struct hydro_i_pro_device *hdev,
223 struct hwmon_fan_data *fan_data, long val)
224 {
225 int retval;
226 int wrote;
227 int sndpipe = usb_sndbulkpipe(hdev->udev, hdev->bulk_out_endpointAddr);
228 int rcvpipe = usb_rcvbulkpipe(hdev->udev, hdev->bulk_in_endpointAddr);
229
230 unsigned char *send_buf = hdev->bulk_out_buffer;
231 unsigned char *recv_buf = hdev->bulk_in_buffer;
232
233 fan_data->fan_target = val;
234 fan_data->fan_pwm_target = 0;
235
236 send_buf[0] = RPM_FAN_TARGET_CMD;
237 send_buf[1] = fan_data->fan_channel;
238 send_buf[2] = (fan_data->fan_target >> 8);
239 send_buf[3] = fan_data->fan_target;
240
241 retval = usb_bulk_msg(hdev->udev, sndpipe, send_buf, 4, &wrote, 100);
242 if (retval != 0)
243 return retval;
244
245 retval = usb_bulk_msg(hdev->udev, rcvpipe, recv_buf, 6, &wrote, 100);
246 if (retval != 0)
247 return retval;
248
249 if (!check_succes(send_buf[0], recv_buf)) {
250 dev_info(&hdev->udev->dev,
251 "[*] failed setting fan rpm %d,%d,%d/%d\n",
252 recv_buf[0], recv_buf[1], recv_buf[2], recv_buf[3]);
253 return -EINVAL;
254 }
255 return 0;
256 }
257
> 258 int get_fan_current_rpm(struct hydro_i_pro_device *hdev,
259 struct hwmon_fan_data *fan_data, long *val)
260 {
261 int retval;
262 int wrote;
263 int sndpipe = usb_sndbulkpipe(hdev->udev, hdev->bulk_out_endpointAddr);
264 int rcvpipe = usb_rcvbulkpipe(hdev->udev, hdev->bulk_in_endpointAddr);
265
266 unsigned char *send_buf = hdev->bulk_out_buffer;
267 unsigned char *recv_buf = hdev->bulk_in_buffer;
268
269 send_buf[0] = PWM_GET_CURRENT_CMD;
270 send_buf[1] = fan_data->fan_channel;
271
272 retval = usb_bulk_msg(hdev->udev, sndpipe, send_buf, 2, &wrote, 100);
273 if (retval != 0)
274 return retval;
275
276 retval = usb_bulk_msg(hdev->udev, rcvpipe, recv_buf, 6, &wrote, 100);
277 if (retval != 0)
278 return retval;
279
280 if (!check_succes(send_buf[0], recv_buf) ||
281 recv_buf[3] != fan_data->fan_channel) {
282 dev_info(&hdev->udev->dev,
283 "[*] failed retrieving fan rmp %d,%d,%d/%d\n",
284 recv_buf[0], recv_buf[1], recv_buf[2], recv_buf[3]);
285 return -EINVAL;
286 }
287
288 *val = ((recv_buf[4]) << 8) + recv_buf[5];
289 return 0;
290 }
291
> 292 int set_fan_target_pwm(struct hydro_i_pro_device *hdev,
293 struct hwmon_fan_data *fan_data, long val)
294 {
295 int retval;
296 int wrote;
297 int sndpipe = usb_sndbulkpipe(hdev->udev, hdev->bulk_out_endpointAddr);
298 int rcvpipe = usb_rcvbulkpipe(hdev->udev, hdev->bulk_in_endpointAddr);
299
300 unsigned char *send_buf = hdev->bulk_out_buffer;
301 unsigned char *recv_buf = hdev->bulk_in_buffer;
302
303 fan_data->fan_pwm_target = val;
304 fan_data->fan_target = 0;
305
306 send_buf[0] = PWM_FAN_TARGET_CMD;
307 send_buf[1] = fan_data->fan_channel;
308 send_buf[3] = fan_data->fan_pwm_target;
309
310 retval = usb_bulk_msg(hdev->udev, sndpipe, send_buf, 4, &wrote, 100);
311 if (retval != 0)
312 return retval;
313
314 retval = usb_bulk_msg(hdev->udev, rcvpipe, recv_buf, 6, &wrote, 100000);
315 if (retval != 0)
316 return retval;
317
318 if (!check_succes(send_buf[0], recv_buf)) {
319 dev_info(&hdev->udev->dev,
320 "[*] failed setting fan pwm %d,%d,%d/%d\n",
321 recv_buf[0], recv_buf[1], recv_buf[2], recv_buf[3]);
322 return -EINVAL;
323 }
324 return 0;
325 }
326
> 327 umode_t hwmon_is_visible(const void *d, enum hwmon_sensor_types type, u32 attr,
328 int channel)
329 {
330 switch (type) {
331 case hwmon_fan:
332 switch (attr) {
333 case hwmon_fan_input:
334 return 0444;
335 break;
336 case hwmon_fan_target:
337 return 0644;
338 break;
339 case hwmon_fan_min:
340 return 0444;
341 break;
342 default:
343 break;
344 }
345 break;
346 case hwmon_pwm:
347 switch (attr) {
348 case hwmon_pwm_input:
349 return 0200;
350 break;
351 case hwmon_pwm_enable:
352 return 0644;
353 break;
354 default:
355 break;
356 }
357 break;
358 default:
359 break;
360 }
361 return 0;
362 }
363
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[lkundrak-linux-mmp:lr/gud2 5/7] drivers/gpu/drm/gud/gud_drm_drv.c:377:2: error: implicit declaration of function 'vfree'; did you mean
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp.git lr/gud2
head: 84d9081acc7185e369834b2b0808d197d7a79d2c
commit: 88fd2c63d9552fa82e7e300a3be86d503b159311 [5/7] drm: Add Generic USB Display driver
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 88fd2c63d9552fa82e7e300a3be86d503b159311
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/gud/gud_drm_drv.c: In function 'gud_drm_free_buffers_and_mutex':
>> drivers/gpu/drm/gud/gud_drm_drv.c:377:2: error: implicit declaration of function 'vfree'; did you mean 'kfree'? [-Werror=implicit-function-declaration]
377 | vfree(gdrm->compress_buf);
| ^~~~~
| kfree
drivers/gpu/drm/gud/gud_drm_drv.c: In function 'gud_drm_probe':
>> drivers/gpu/drm/gud/gud_drm_drv.c:489:24: error: implicit declaration of function 'vmalloc'; did you mean 'kmalloc'? [-Werror=implicit-function-declaration]
489 | gdrm->compress_buf = vmalloc(gdrm->bulk_len);
| ^~~~~~~
| kmalloc
drivers/gpu/drm/gud/gud_drm_drv.c:489:22: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
489 | gdrm->compress_buf = vmalloc(gdrm->bulk_len);
| ^
cc1: some warnings being treated as errors
vim +377 drivers/gpu/drm/gud/gud_drm_drv.c
369
370 static void gud_drm_free_buffers_and_mutex(void *data)
371 {
372 struct gud_drm_device *gdrm = data;
373
374 /* Access to these are protected by drm_dev_enter/exit */
375
376 kfree(gdrm->properties);
> 377 vfree(gdrm->compress_buf);
378 kfree(gdrm->bulk_buf);
379 kfree(gdrm->ctrl_msg_buf);
380 gdrm->properties = NULL;
381 gdrm->compress_buf = NULL;
382 gdrm->bulk_buf = NULL;
383 gdrm->ctrl_msg_buf = NULL;
384
385 mutex_destroy(&gdrm->ctrl_lock);
386 mutex_destroy(&gdrm->damage_lock);
387 }
388
389 static int gud_drm_probe(struct usb_interface *interface,
390 const struct usb_device_id *id)
391 {
392 u8 ifnum = interface->cur_altsetting->desc.bInterfaceNumber;
393 struct usb_device *usb = interface_to_usbdev(interface);
394 struct device *dev = &interface->dev;
395 const struct drm_format_info *xrgb8888_emulation_format = NULL;
396 u32 *formats, *formats_dev, num_connectors, num_formats = 0;
397 bool rgb565_supported = false, rgb8888_supported = false;
398 struct usb_endpoint_descriptor *bulk_out;
399 struct gud_drm_display_descriptor desc;
400 struct gud_drm_device *gdrm;
401 struct drm_device *drm;
402 size_t max_buffer_size;
403 int ret, i;
404
405 ret = usb_find_bulk_out_endpoint(interface->cur_altsetting, &bulk_out);
406 if (ret)
407 return ret;
408
409 ret = gud_get_vendor_descriptor(interface, &desc);
410 if (ret) {
411 DRM_DEV_DEBUG_DRIVER(dev, "Not a display interface: ret=%d\n", ret);
412 return -ENODEV;
413 }
414
415 if (desc.bVersion > 1) {
416 u8 *version = kmalloc(sizeof(*version), GFP_KERNEL);
417
418 if (!version)
419 return -ENOMEM;
420
421 /* Check if the device can support us */
422 *version = 1;
423 ret = gud_drm_usb_control_msg(usb, ifnum, false, GUD_DRM_USB_REQ_SET_VERSION,
424 0, version, sizeof(*version), true);
425 if (!ret)
426 ret = gud_usb_get_status(usb, ifnum);
427 kfree(version);
428 if (ret) {
429 dev_err(dev, "Protocol version %u is not supported\n", desc.bVersion);
430 return -EPROTONOSUPPORT;
431 }
432
433 desc.bVersion = 1;
434 }
435
436 num_connectors = desc.bNumConnectors;
437 max_buffer_size = 1 << desc.bMaxBufferSizeOrder;
438
439 gdrm = devm_drm_dev_alloc(dev, &gud_drm_driver, struct gud_drm_device, drm);
440 if (IS_ERR(gdrm))
441 return PTR_ERR(gdrm);
442
443 drm = &gdrm->drm;
444 drm->mode_config.funcs = &gud_drm_mode_config_funcs;
445 ret = drmm_mode_config_init(drm);
446 if (ret)
447 return ret;
448
449 gdrm->usb = usb;
450 gdrm->ifnum = ifnum;
451 gdrm->compression = desc.bCompression & GUD_DRM_COMPRESSION_LZ4;
452
453 mutex_init(&gdrm->ctrl_lock);
454 mutex_init(&gdrm->damage_lock);
455 INIT_WORK(&gdrm->work, gud_drm_work);
456 gud_drm_clear_damage(gdrm);
457
458 /*
459 * devm_kmalloc() places struct devres at the beginning of the buffer it
460 * allocates. This can waste a lot of memory when allocating
461 * power-of-two sized buffers. Asking for 4k would actually allocate 8k.
462 */
463
464 ret = devm_add_action_or_reset(dev, gud_drm_free_buffers_and_mutex, gdrm);
465 if (ret)
466 return ret;
467
468 gdrm->ctrl_msg_buf = kmalloc(GUD_DRM_MAX_TRANSFER_SIZE, GFP_KERNEL);
469 if (!gdrm->ctrl_msg_buf)
470 return -ENOMEM;
471 retry:
472 gdrm->bulk_buf = kmalloc(max_buffer_size, GFP_KERNEL);
473 if (!gdrm->bulk_buf) {
474 max_buffer_size /= 2;
475 if (max_buffer_size < SZ_2M) { /* Give up if we can't do 1024x768 RGB565 */
476 return -ENOMEM;
477 }
478 goto retry;
479 }
480
481 gdrm->bulk_pipe = usb_sndbulkpipe(gdrm->usb, usb_endpoint_num(bulk_out));
482 gdrm->bulk_len = max_buffer_size;
483
484 if (gdrm->compression & GUD_DRM_COMPRESSION_LZ4) {
485 gdrm->lz4_comp_mem = devm_kmalloc(dev, LZ4_MEM_COMPRESS, GFP_KERNEL);
486 if (!gdrm->lz4_comp_mem)
487 return -ENOMEM;
488
> 489 gdrm->compress_buf = vmalloc(gdrm->bulk_len);
490 if (!gdrm->compress_buf)
491 return -ENOMEM;
492 }
493
494 drm->mode_config.min_width = le32_to_cpu(desc.dwMinWidth);
495 drm->mode_config.max_width = le32_to_cpu(desc.dwMaxWidth);
496 drm->mode_config.min_height = le32_to_cpu(desc.dwMinHeight);
497 drm->mode_config.max_height = le32_to_cpu(desc.dwMaxHeight);
498
499 formats_dev = devm_kmalloc_array(dev, desc.bNumFormats, sizeof(u32), GFP_KERNEL);
500 /* Add room for emulated XRGB8888 */
501 formats = devm_kmalloc_array(dev, desc.bNumFormats + 1, sizeof(u32), GFP_KERNEL);
502 if (!formats_dev || !formats)
503 return -ENOMEM;
504
505 ret = gud_drm_usb_read32(gdrm, GUD_DRM_USB_REQ_GET_FORMATS, formats_dev, desc.bNumFormats);
506 if (ret)
507 return ret;
508
509 for (i = 0; i < desc.bNumFormats; i++) {
510 const struct drm_format_info *fmt_info;
511 u32 format = formats_dev[i];
512
513 if (format == GUD_DRM_FORMAT_R1) {
514 fmt_info = &gud_drm_format_r1;
515 } else {
516 /* This will trigger a WARN for unknown formats... */
517 fmt_info = drm_format_info(format);
518 if (!fmt_info) {
519 drm_dbg(drm, "Unknown format: 0x%x\n", format);
520 continue;
521 }
522 }
523
524 switch (format) {
525 case DRM_FORMAT_XRGB8888:
526 fallthrough;
527 case DRM_FORMAT_ARGB8888:
528 rgb8888_supported = true;
529 break;
530 case DRM_FORMAT_RGB888:
531 fallthrough;
532 case DRM_FORMAT_BGR888:
533 drm_dbg(drm, "24-bit formats are not supported.\n");
534 continue;
535 case DRM_FORMAT_RGB565:
536 rgb565_supported = true;
537 if (!xrgb8888_emulation_format)
538 xrgb8888_emulation_format = fmt_info;
539 break;
540 case GUD_DRM_FORMAT_R1:
541 if (!xrgb8888_emulation_format)
542 xrgb8888_emulation_format = fmt_info;
543 /* Internal, not for userspace */
544 continue;
545 }
546
547 formats[num_formats++] = format;
548 }
549
550 if (!num_formats && !xrgb8888_emulation_format) {
551 dev_err(dev, "No supported formats found\n");
552 return -ENOENT;
553 }
554
555 /* Prefer speed over color depth */
556 if (rgb565_supported)
557 drm->mode_config.preferred_depth = 16;
558
559 if (!rgb8888_supported && xrgb8888_emulation_format) {
560 gdrm->xrgb8888_emulation_format = xrgb8888_emulation_format;
561 formats[num_formats++] = DRM_FORMAT_XRGB8888;
562 }
563
564 ret = drm_simple_display_pipe_init(drm, &gdrm->pipe, &gud_drm_pipe_funcs,
565 formats, num_formats,
566 gud_drm_pipe_modifiers, NULL);
567 if (ret)
568 return ret;
569
570 devm_kfree(dev, formats);
571 devm_kfree(dev, formats_dev);
572
573 ret = gud_drm_get_properties(gdrm, desc.bNumProperties);
574 if (ret)
575 return ret;
576
577 drm_plane_enable_fb_damage_clips(&gdrm->pipe.plane);
578
579 for (i = 0; i < num_connectors; i++) {
580 ret = gud_drm_connector_create(gdrm, i);
581 if (ret)
582 return ret;
583 }
584
585 drm_mode_config_reset(drm);
586
587 usb_set_intfdata(interface, gdrm);
588
589 ret = drm_dev_register(drm, 0);
590 if (ret)
591 return ret;
592
593 drm_kms_helper_poll_init(drm);
594
595 drm_fbdev_generic_setup(drm, 0);
596
597 return 0;
598 }
599
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH bpf-next 1/2] bpf: change var type of BTF_ID_LIST to static
by kernel test robot
Hi Yonghong,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Yonghong-Song/compute-bpf_skc_to...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-rhel-7.6-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from kernel/bpf/btf.c:21:
>> kernel/bpf/btf.c:3625:13: warning: array 'bpf_ctx_convert_btf_id' assumed to have one element
3625 | BTF_ID_LIST(bpf_ctx_convert_btf_id)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccYr5IvF.s: Assembler messages:
/tmp/ccYr5IvF.s:23808: Error: symbol `bpf_ctx_convert_btf_id' is already defined
--
In file included from kernel/bpf/stackmap.c:12:
>> kernel/bpf/stackmap.c:580:13: warning: array 'bpf_get_task_stack_btf_ids' assumed to have one element
580 | BTF_ID_LIST(bpf_get_task_stack_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccjqxVG0.s: Assembler messages:
>> /tmp/ccjqxVG0.s:4352: Error: symbol `bpf_get_task_stack_btf_ids' is already defined
--
In file included from net/core/filter.c:78:
>> net/core/filter.c:3783:13: warning: array 'bpf_skb_output_btf_ids' assumed to have one element
3783 | BTF_ID_LIST(bpf_skb_output_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
>> net/core/filter.c:4179:13: warning: array 'bpf_xdp_output_btf_ids' assumed to have one element
4179 | BTF_ID_LIST(bpf_xdp_output_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccAPtQBF.s: Assembler messages:
>> /tmp/ccAPtQBF.s:67210: Error: symbol `bpf_xdp_output_btf_ids' is already defined
>> /tmp/ccAPtQBF.s:67358: Error: symbol `bpf_skb_output_btf_ids' is already defined
--
In file included from net/core/filter.c:78:
>> net/core/filter.c:3783:13: warning: array 'bpf_skb_output_btf_ids' assumed to have one element
3783 | BTF_ID_LIST(bpf_skb_output_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
>> net/core/filter.c:4179:13: warning: array 'bpf_xdp_output_btf_ids' assumed to have one element
4179 | BTF_ID_LIST(bpf_xdp_output_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/cc5vDkeD.s: Assembler messages:
/tmp/cc5vDkeD.s:67210: Error: symbol `bpf_xdp_output_btf_ids' is already defined
/tmp/cc5vDkeD.s:67358: Error: symbol `bpf_skb_output_btf_ids' is already defined
--
kernel/trace/bpf_trace.c: In function '____bpf_trace_printk':
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
538 | return __BPF_TP_EMIT();
| ^~~~~~
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
kernel/trace/bpf_trace.c:538:2: warning: function '____bpf_trace_printk' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
In file included from kernel/trace/bpf_trace.c:17:
kernel/trace/bpf_trace.c: At top level:
>> kernel/trace/bpf_trace.c:746:13: warning: array 'bpf_seq_printf_btf_ids' assumed to have one element
746 | BTF_ID_LIST(bpf_seq_printf_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
>> kernel/trace/bpf_trace.c:766:13: warning: array 'bpf_seq_write_btf_ids' assumed to have one element
766 | BTF_ID_LIST(bpf_seq_write_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccD742Hy.s: Assembler messages:
>> /tmp/ccD742Hy.s:18358: Error: symbol `bpf_seq_write_btf_ids' is already defined
>> /tmp/ccD742Hy.s:18376: Error: symbol `bpf_seq_printf_btf_ids' is already defined
--
In file included from kernel/bpf/stackmap.c:12:
>> kernel/bpf/stackmap.c:580:13: warning: array 'bpf_get_task_stack_btf_ids' assumed to have one element
580 | BTF_ID_LIST(bpf_get_task_stack_btf_ids)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/cc3dyWIM.s: Assembler messages:
/tmp/cc3dyWIM.s:4352: Error: symbol `bpf_get_task_stack_btf_ids' is already defined
--
In file included from kernel/bpf/btf.c:21:
>> kernel/bpf/btf.c:3625:13: warning: array 'bpf_ctx_convert_btf_id' assumed to have one element
3625 | BTF_ID_LIST(bpf_ctx_convert_btf_id)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/btf_ids.h:69:12: note: in definition of macro 'BTF_ID_LIST'
69 | static u32 name[];
| ^~~~
/tmp/ccCr2PU4.s: Assembler messages:
/tmp/ccCr2PU4.s:23808: Error: symbol `bpf_ctx_convert_btf_id' is already defined
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [RFC PATCH v4 06/12] dm-verity: move signature check after tree validation
by kernel test robot
Hi Deven,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on dm/for-next]
[also build test WARNING on pcmoore-selinux/next linus/master v5.8-rc5]
[cannot apply to security/next-testing next-20200717]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Deven-Bowers/Integrity-Policy-En...
base: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/md/dm-verity-target.c:18:
drivers/md/dm-verity-verify-sig.h:37:5: warning: no previous prototype for 'verity_verify_root_hash' [-Wmissing-prototypes]
37 | int verity_verify_root_hash(const struct dm_verity *v)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/md/dm-verity-verify-sig.h:42:6: warning: no previous prototype for 'verity_verify_is_sig_opt_arg' [-Wmissing-prototypes]
42 | bool verity_verify_is_sig_opt_arg(const char *arg_name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/md/dm-verity-verify-sig.h:47:5: warning: no previous prototype for 'verity_verify_sig_parse_opt_args' [-Wmissing-prototypes]
47 | int verity_verify_sig_parse_opt_args(struct dm_arg_set *as, struct dm_verity *v,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/md/dm-verity-verify-sig.h:53:6: warning: no previous prototype for 'verity_verify_dtr' [-Wmissing-prototypes]
53 | void verity_verify_dtr(struct dm_verity *v)
| ^~~~~~~~~~~~~~~~~
drivers/md/dm-verity-target.c: In function 'verity_ctr':
drivers/md/dm-verity-target.c:988:8: warning: variable 'root_hash_digest_to_validate' set but not used [-Wunused-but-set-variable]
988 | char *root_hash_digest_to_validate;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/verity_verify_dtr +53 drivers/md/dm-verity-verify-sig.h
52
> 53 void verity_verify_dtr(struct dm_verity *v)
54 {
55 }
56
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-next:master 6564/9127] drivers/clk/qcom/gcc-ipq8074.c:4610:30: warning: initialized field overwritten
by kernel test robot
Hi Sivaprakash,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
commit: f0cfcf1ade201dcfd3365f231efc90e846fa46df [6564/9127] clk: qcom: ipq8074: Add missing clocks for pcie
config: arm-randconfig-r026-20200717 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout f0cfcf1ade201dcfd3365f231efc90e846fa46df
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/clk/qcom/gcc-ipq8074.c:4610:30: warning: initialized field overwritten [-Woverride-init]
4610 | [GCC_PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr,
| ^
drivers/clk/qcom/gcc-ipq8074.c:4610:30: note: (near initialization for 'gcc_ipq8074_clks[133]')
drivers/clk/qcom/gcc-ipq8074.c:4611:26: warning: initialized field overwritten [-Woverride-init]
4611 | [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr,
| ^
drivers/clk/qcom/gcc-ipq8074.c:4611:26: note: (near initialization for 'gcc_ipq8074_clks[134]')
drivers/clk/qcom/gcc-ipq8074.c:4612:33: warning: initialized field overwritten [-Woverride-init]
4612 | [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr,
| ^
drivers/clk/qcom/gcc-ipq8074.c:4612:33: note: (near initialization for 'gcc_ipq8074_clks[132]')
vim +4610 drivers/clk/qcom/gcc-ipq8074.c
4384
4385 static struct clk_regmap *gcc_ipq8074_clks[] = {
4386 [GPLL0_MAIN] = &gpll0_main.clkr,
4387 [GPLL0] = &gpll0.clkr,
4388 [GPLL2_MAIN] = &gpll2_main.clkr,
4389 [GPLL2] = &gpll2.clkr,
4390 [GPLL4_MAIN] = &gpll4_main.clkr,
4391 [GPLL4] = &gpll4.clkr,
4392 [GPLL6_MAIN] = &gpll6_main.clkr,
4393 [GPLL6] = &gpll6.clkr,
4394 [UBI32_PLL_MAIN] = &ubi32_pll_main.clkr,
4395 [UBI32_PLL] = &ubi32_pll.clkr,
4396 [NSS_CRYPTO_PLL_MAIN] = &nss_crypto_pll_main.clkr,
4397 [NSS_CRYPTO_PLL] = &nss_crypto_pll.clkr,
4398 [PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr,
4399 [GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr,
4400 [BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr,
4401 [BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr,
4402 [BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr,
4403 [BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr,
4404 [BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr,
4405 [BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr,
4406 [BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr,
4407 [BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr,
4408 [BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr,
4409 [BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr,
4410 [BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr,
4411 [BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr,
4412 [BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr,
4413 [BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr,
4414 [BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr,
4415 [BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr,
4416 [BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr,
4417 [BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr,
4418 [PCIE0_AXI_CLK_SRC] = &pcie0_axi_clk_src.clkr,
4419 [PCIE0_AUX_CLK_SRC] = &pcie0_aux_clk_src.clkr,
4420 [PCIE0_PIPE_CLK_SRC] = &pcie0_pipe_clk_src.clkr,
4421 [PCIE1_AXI_CLK_SRC] = &pcie1_axi_clk_src.clkr,
4422 [PCIE1_AUX_CLK_SRC] = &pcie1_aux_clk_src.clkr,
4423 [PCIE1_PIPE_CLK_SRC] = &pcie1_pipe_clk_src.clkr,
4424 [SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr,
4425 [SDCC1_ICE_CORE_CLK_SRC] = &sdcc1_ice_core_clk_src.clkr,
4426 [SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr,
4427 [USB0_MASTER_CLK_SRC] = &usb0_master_clk_src.clkr,
4428 [USB0_AUX_CLK_SRC] = &usb0_aux_clk_src.clkr,
4429 [USB0_MOCK_UTMI_CLK_SRC] = &usb0_mock_utmi_clk_src.clkr,
4430 [USB0_PIPE_CLK_SRC] = &usb0_pipe_clk_src.clkr,
4431 [USB1_MASTER_CLK_SRC] = &usb1_master_clk_src.clkr,
4432 [USB1_AUX_CLK_SRC] = &usb1_aux_clk_src.clkr,
4433 [USB1_MOCK_UTMI_CLK_SRC] = &usb1_mock_utmi_clk_src.clkr,
4434 [USB1_PIPE_CLK_SRC] = &usb1_pipe_clk_src.clkr,
4435 [GCC_XO_CLK_SRC] = &gcc_xo_clk_src.clkr,
4436 [SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr,
4437 [NSS_CE_CLK_SRC] = &nss_ce_clk_src.clkr,
4438 [NSS_NOC_BFDCD_CLK_SRC] = &nss_noc_bfdcd_clk_src.clkr,
4439 [NSS_CRYPTO_CLK_SRC] = &nss_crypto_clk_src.clkr,
4440 [NSS_UBI0_CLK_SRC] = &nss_ubi0_clk_src.clkr,
4441 [NSS_UBI0_DIV_CLK_SRC] = &nss_ubi0_div_clk_src.clkr,
4442 [NSS_UBI1_CLK_SRC] = &nss_ubi1_clk_src.clkr,
4443 [NSS_UBI1_DIV_CLK_SRC] = &nss_ubi1_div_clk_src.clkr,
4444 [UBI_MPT_CLK_SRC] = &ubi_mpt_clk_src.clkr,
4445 [NSS_IMEM_CLK_SRC] = &nss_imem_clk_src.clkr,
4446 [NSS_PPE_CLK_SRC] = &nss_ppe_clk_src.clkr,
4447 [NSS_PORT1_RX_CLK_SRC] = &nss_port1_rx_clk_src.clkr,
4448 [NSS_PORT1_RX_DIV_CLK_SRC] = &nss_port1_rx_div_clk_src.clkr,
4449 [NSS_PORT1_TX_CLK_SRC] = &nss_port1_tx_clk_src.clkr,
4450 [NSS_PORT1_TX_DIV_CLK_SRC] = &nss_port1_tx_div_clk_src.clkr,
4451 [NSS_PORT2_RX_CLK_SRC] = &nss_port2_rx_clk_src.clkr,
4452 [NSS_PORT2_RX_DIV_CLK_SRC] = &nss_port2_rx_div_clk_src.clkr,
4453 [NSS_PORT2_TX_CLK_SRC] = &nss_port2_tx_clk_src.clkr,
4454 [NSS_PORT2_TX_DIV_CLK_SRC] = &nss_port2_tx_div_clk_src.clkr,
4455 [NSS_PORT3_RX_CLK_SRC] = &nss_port3_rx_clk_src.clkr,
4456 [NSS_PORT3_RX_DIV_CLK_SRC] = &nss_port3_rx_div_clk_src.clkr,
4457 [NSS_PORT3_TX_CLK_SRC] = &nss_port3_tx_clk_src.clkr,
4458 [NSS_PORT3_TX_DIV_CLK_SRC] = &nss_port3_tx_div_clk_src.clkr,
4459 [NSS_PORT4_RX_CLK_SRC] = &nss_port4_rx_clk_src.clkr,
4460 [NSS_PORT4_RX_DIV_CLK_SRC] = &nss_port4_rx_div_clk_src.clkr,
4461 [NSS_PORT4_TX_CLK_SRC] = &nss_port4_tx_clk_src.clkr,
4462 [NSS_PORT4_TX_DIV_CLK_SRC] = &nss_port4_tx_div_clk_src.clkr,
4463 [NSS_PORT5_RX_CLK_SRC] = &nss_port5_rx_clk_src.clkr,
4464 [NSS_PORT5_RX_DIV_CLK_SRC] = &nss_port5_rx_div_clk_src.clkr,
4465 [NSS_PORT5_TX_CLK_SRC] = &nss_port5_tx_clk_src.clkr,
4466 [NSS_PORT5_TX_DIV_CLK_SRC] = &nss_port5_tx_div_clk_src.clkr,
4467 [NSS_PORT6_RX_CLK_SRC] = &nss_port6_rx_clk_src.clkr,
4468 [NSS_PORT6_RX_DIV_CLK_SRC] = &nss_port6_rx_div_clk_src.clkr,
4469 [NSS_PORT6_TX_CLK_SRC] = &nss_port6_tx_clk_src.clkr,
4470 [NSS_PORT6_TX_DIV_CLK_SRC] = &nss_port6_tx_div_clk_src.clkr,
4471 [CRYPTO_CLK_SRC] = &crypto_clk_src.clkr,
4472 [GP1_CLK_SRC] = &gp1_clk_src.clkr,
4473 [GP2_CLK_SRC] = &gp2_clk_src.clkr,
4474 [GP3_CLK_SRC] = &gp3_clk_src.clkr,
4475 [GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr,
4476 [GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr,
4477 [GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr,
4478 [GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr,
4479 [GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr,
4480 [GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr,
4481 [GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr,
4482 [GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr,
4483 [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr,
4484 [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr,
4485 [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr,
4486 [GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr,
4487 [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr,
4488 [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr,
4489 [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr,
4490 [GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr,
4491 [GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr,
4492 [GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr,
4493 [GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr,
4494 [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr,
4495 [GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr,
4496 [GCC_QPIC_CLK] = &gcc_qpic_clk.clkr,
4497 [GCC_PCIE0_AHB_CLK] = &gcc_pcie0_ahb_clk.clkr,
4498 [GCC_PCIE0_AUX_CLK] = &gcc_pcie0_aux_clk.clkr,
4499 [GCC_PCIE0_AXI_M_CLK] = &gcc_pcie0_axi_m_clk.clkr,
4500 [GCC_PCIE0_AXI_S_CLK] = &gcc_pcie0_axi_s_clk.clkr,
4501 [GCC_PCIE0_PIPE_CLK] = &gcc_pcie0_pipe_clk.clkr,
4502 [GCC_SYS_NOC_PCIE0_AXI_CLK] = &gcc_sys_noc_pcie0_axi_clk.clkr,
4503 [GCC_PCIE1_AHB_CLK] = &gcc_pcie1_ahb_clk.clkr,
4504 [GCC_PCIE1_AUX_CLK] = &gcc_pcie1_aux_clk.clkr,
4505 [GCC_PCIE1_AXI_M_CLK] = &gcc_pcie1_axi_m_clk.clkr,
4506 [GCC_PCIE1_AXI_S_CLK] = &gcc_pcie1_axi_s_clk.clkr,
4507 [GCC_PCIE1_PIPE_CLK] = &gcc_pcie1_pipe_clk.clkr,
4508 [GCC_SYS_NOC_PCIE1_AXI_CLK] = &gcc_sys_noc_pcie1_axi_clk.clkr,
4509 [GCC_USB0_AUX_CLK] = &gcc_usb0_aux_clk.clkr,
4510 [GCC_SYS_NOC_USB0_AXI_CLK] = &gcc_sys_noc_usb0_axi_clk.clkr,
4511 [GCC_USB0_MASTER_CLK] = &gcc_usb0_master_clk.clkr,
4512 [GCC_USB0_MOCK_UTMI_CLK] = &gcc_usb0_mock_utmi_clk.clkr,
4513 [GCC_USB0_PHY_CFG_AHB_CLK] = &gcc_usb0_phy_cfg_ahb_clk.clkr,
4514 [GCC_USB0_PIPE_CLK] = &gcc_usb0_pipe_clk.clkr,
4515 [GCC_USB0_SLEEP_CLK] = &gcc_usb0_sleep_clk.clkr,
4516 [GCC_USB1_AUX_CLK] = &gcc_usb1_aux_clk.clkr,
4517 [GCC_SYS_NOC_USB1_AXI_CLK] = &gcc_sys_noc_usb1_axi_clk.clkr,
4518 [GCC_USB1_MASTER_CLK] = &gcc_usb1_master_clk.clkr,
4519 [GCC_USB1_MOCK_UTMI_CLK] = &gcc_usb1_mock_utmi_clk.clkr,
4520 [GCC_USB1_PHY_CFG_AHB_CLK] = &gcc_usb1_phy_cfg_ahb_clk.clkr,
4521 [GCC_USB1_PIPE_CLK] = &gcc_usb1_pipe_clk.clkr,
4522 [GCC_USB1_SLEEP_CLK] = &gcc_usb1_sleep_clk.clkr,
4523 [GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr,
4524 [GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr,
4525 [GCC_SDCC1_ICE_CORE_CLK] = &gcc_sdcc1_ice_core_clk.clkr,
4526 [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr,
4527 [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr,
4528 [GCC_MEM_NOC_NSS_AXI_CLK] = &gcc_mem_noc_nss_axi_clk.clkr,
4529 [GCC_NSS_CE_APB_CLK] = &gcc_nss_ce_apb_clk.clkr,
4530 [GCC_NSS_CE_AXI_CLK] = &gcc_nss_ce_axi_clk.clkr,
4531 [GCC_NSS_CFG_CLK] = &gcc_nss_cfg_clk.clkr,
4532 [GCC_NSS_CRYPTO_CLK] = &gcc_nss_crypto_clk.clkr,
4533 [GCC_NSS_CSR_CLK] = &gcc_nss_csr_clk.clkr,
4534 [GCC_NSS_EDMA_CFG_CLK] = &gcc_nss_edma_cfg_clk.clkr,
4535 [GCC_NSS_EDMA_CLK] = &gcc_nss_edma_clk.clkr,
4536 [GCC_NSS_IMEM_CLK] = &gcc_nss_imem_clk.clkr,
4537 [GCC_NSS_NOC_CLK] = &gcc_nss_noc_clk.clkr,
4538 [GCC_NSS_PPE_BTQ_CLK] = &gcc_nss_ppe_btq_clk.clkr,
4539 [GCC_NSS_PPE_CFG_CLK] = &gcc_nss_ppe_cfg_clk.clkr,
4540 [GCC_NSS_PPE_CLK] = &gcc_nss_ppe_clk.clkr,
4541 [GCC_NSS_PPE_IPE_CLK] = &gcc_nss_ppe_ipe_clk.clkr,
4542 [GCC_NSS_PTP_REF_CLK] = &gcc_nss_ptp_ref_clk.clkr,
4543 [GCC_NSSNOC_CE_APB_CLK] = &gcc_nssnoc_ce_apb_clk.clkr,
4544 [GCC_NSSNOC_CE_AXI_CLK] = &gcc_nssnoc_ce_axi_clk.clkr,
4545 [GCC_NSSNOC_CRYPTO_CLK] = &gcc_nssnoc_crypto_clk.clkr,
4546 [GCC_NSSNOC_PPE_CFG_CLK] = &gcc_nssnoc_ppe_cfg_clk.clkr,
4547 [GCC_NSSNOC_PPE_CLK] = &gcc_nssnoc_ppe_clk.clkr,
4548 [GCC_NSSNOC_QOSGEN_REF_CLK] = &gcc_nssnoc_qosgen_ref_clk.clkr,
4549 [GCC_NSSNOC_SNOC_CLK] = &gcc_nssnoc_snoc_clk.clkr,
4550 [GCC_NSSNOC_TIMEOUT_REF_CLK] = &gcc_nssnoc_timeout_ref_clk.clkr,
4551 [GCC_NSSNOC_UBI0_AHB_CLK] = &gcc_nssnoc_ubi0_ahb_clk.clkr,
4552 [GCC_NSSNOC_UBI1_AHB_CLK] = &gcc_nssnoc_ubi1_ahb_clk.clkr,
4553 [GCC_UBI0_AHB_CLK] = &gcc_ubi0_ahb_clk.clkr,
4554 [GCC_UBI0_AXI_CLK] = &gcc_ubi0_axi_clk.clkr,
4555 [GCC_UBI0_NC_AXI_CLK] = &gcc_ubi0_nc_axi_clk.clkr,
4556 [GCC_UBI0_CORE_CLK] = &gcc_ubi0_core_clk.clkr,
4557 [GCC_UBI0_MPT_CLK] = &gcc_ubi0_mpt_clk.clkr,
4558 [GCC_UBI1_AHB_CLK] = &gcc_ubi1_ahb_clk.clkr,
4559 [GCC_UBI1_AXI_CLK] = &gcc_ubi1_axi_clk.clkr,
4560 [GCC_UBI1_NC_AXI_CLK] = &gcc_ubi1_nc_axi_clk.clkr,
4561 [GCC_UBI1_CORE_CLK] = &gcc_ubi1_core_clk.clkr,
4562 [GCC_UBI1_MPT_CLK] = &gcc_ubi1_mpt_clk.clkr,
4563 [GCC_CMN_12GPLL_AHB_CLK] = &gcc_cmn_12gpll_ahb_clk.clkr,
4564 [GCC_CMN_12GPLL_SYS_CLK] = &gcc_cmn_12gpll_sys_clk.clkr,
4565 [GCC_MDIO_AHB_CLK] = &gcc_mdio_ahb_clk.clkr,
4566 [GCC_UNIPHY0_AHB_CLK] = &gcc_uniphy0_ahb_clk.clkr,
4567 [GCC_UNIPHY0_SYS_CLK] = &gcc_uniphy0_sys_clk.clkr,
4568 [GCC_UNIPHY1_AHB_CLK] = &gcc_uniphy1_ahb_clk.clkr,
4569 [GCC_UNIPHY1_SYS_CLK] = &gcc_uniphy1_sys_clk.clkr,
4570 [GCC_UNIPHY2_AHB_CLK] = &gcc_uniphy2_ahb_clk.clkr,
4571 [GCC_UNIPHY2_SYS_CLK] = &gcc_uniphy2_sys_clk.clkr,
4572 [GCC_NSS_PORT1_RX_CLK] = &gcc_nss_port1_rx_clk.clkr,
4573 [GCC_NSS_PORT1_TX_CLK] = &gcc_nss_port1_tx_clk.clkr,
4574 [GCC_NSS_PORT2_RX_CLK] = &gcc_nss_port2_rx_clk.clkr,
4575 [GCC_NSS_PORT2_TX_CLK] = &gcc_nss_port2_tx_clk.clkr,
4576 [GCC_NSS_PORT3_RX_CLK] = &gcc_nss_port3_rx_clk.clkr,
4577 [GCC_NSS_PORT3_TX_CLK] = &gcc_nss_port3_tx_clk.clkr,
4578 [GCC_NSS_PORT4_RX_CLK] = &gcc_nss_port4_rx_clk.clkr,
4579 [GCC_NSS_PORT4_TX_CLK] = &gcc_nss_port4_tx_clk.clkr,
4580 [GCC_NSS_PORT5_RX_CLK] = &gcc_nss_port5_rx_clk.clkr,
4581 [GCC_NSS_PORT5_TX_CLK] = &gcc_nss_port5_tx_clk.clkr,
4582 [GCC_NSS_PORT6_RX_CLK] = &gcc_nss_port6_rx_clk.clkr,
4583 [GCC_NSS_PORT6_TX_CLK] = &gcc_nss_port6_tx_clk.clkr,
4584 [GCC_PORT1_MAC_CLK] = &gcc_port1_mac_clk.clkr,
4585 [GCC_PORT2_MAC_CLK] = &gcc_port2_mac_clk.clkr,
4586 [GCC_PORT3_MAC_CLK] = &gcc_port3_mac_clk.clkr,
4587 [GCC_PORT4_MAC_CLK] = &gcc_port4_mac_clk.clkr,
4588 [GCC_PORT5_MAC_CLK] = &gcc_port5_mac_clk.clkr,
4589 [GCC_PORT6_MAC_CLK] = &gcc_port6_mac_clk.clkr,
4590 [GCC_UNIPHY0_PORT1_RX_CLK] = &gcc_uniphy0_port1_rx_clk.clkr,
4591 [GCC_UNIPHY0_PORT1_TX_CLK] = &gcc_uniphy0_port1_tx_clk.clkr,
4592 [GCC_UNIPHY0_PORT2_RX_CLK] = &gcc_uniphy0_port2_rx_clk.clkr,
4593 [GCC_UNIPHY0_PORT2_TX_CLK] = &gcc_uniphy0_port2_tx_clk.clkr,
4594 [GCC_UNIPHY0_PORT3_RX_CLK] = &gcc_uniphy0_port3_rx_clk.clkr,
4595 [GCC_UNIPHY0_PORT3_TX_CLK] = &gcc_uniphy0_port3_tx_clk.clkr,
4596 [GCC_UNIPHY0_PORT4_RX_CLK] = &gcc_uniphy0_port4_rx_clk.clkr,
4597 [GCC_UNIPHY0_PORT4_TX_CLK] = &gcc_uniphy0_port4_tx_clk.clkr,
4598 [GCC_UNIPHY0_PORT5_RX_CLK] = &gcc_uniphy0_port5_rx_clk.clkr,
4599 [GCC_UNIPHY0_PORT5_TX_CLK] = &gcc_uniphy0_port5_tx_clk.clkr,
4600 [GCC_UNIPHY1_PORT5_RX_CLK] = &gcc_uniphy1_port5_rx_clk.clkr,
4601 [GCC_UNIPHY1_PORT5_TX_CLK] = &gcc_uniphy1_port5_tx_clk.clkr,
4602 [GCC_UNIPHY2_PORT6_RX_CLK] = &gcc_uniphy2_port6_rx_clk.clkr,
4603 [GCC_UNIPHY2_PORT6_TX_CLK] = &gcc_uniphy2_port6_tx_clk.clkr,
4604 [GCC_CRYPTO_AHB_CLK] = &gcc_crypto_ahb_clk.clkr,
4605 [GCC_CRYPTO_AXI_CLK] = &gcc_crypto_axi_clk.clkr,
4606 [GCC_CRYPTO_CLK] = &gcc_crypto_clk.clkr,
4607 [GCC_GP1_CLK] = &gcc_gp1_clk.clkr,
4608 [GCC_GP2_CLK] = &gcc_gp2_clk.clkr,
4609 [GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
> 4610 [GCC_PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr,
4611 [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr,
4612 [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr,
4613 };
4614
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/edac/i10nm_base.c:149:19: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4ebf8d7649cd86c41c41bf48da4b7761da2d5009
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: x86_64-randconfig-s021-20200718 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/edac/i10nm_base.c:149:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/edac/i10nm_base.c:170:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/edac/i10nm_base.c:171:37: sparse: sparse: cast removes address space '__iomem' of expression
vim +/__iomem +149 drivers/edac/i10nm_base.c
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 144
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 145 static bool i10nm_check_ecc(struct skx_imc *imc, int chan)
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 146 {
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 147 u32 mcmtr;
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 148
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 @149 mcmtr = *(u32 *)(imc->mbase + 0x20ef8 + chan * 0x4000);
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 150 edac_dbg(1, "ch%d mcmtr reg %x\n", chan, mcmtr);
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 151
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 152 return !!GET_BITFIELD(mcmtr, 2, 2);
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 153 }
d4dc89d069aab9 Qiuxu Zhuo 2019-01-30 154
:::::: The code at line 149 was first introduced by commit
:::::: d4dc89d069aab9074e2493a4c2f3969a0a0b91c1 EDAC, i10nm: Add a driver for Intel 10nm server processors
:::::: TO: Qiuxu Zhuo <qiuxu.zhuo(a)intel.com>
:::::: CC: Borislav Petkov <bp(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v3 4/5] LSM: Define SELinux function to measure security state
by kernel test robot
Hi Lakshmi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on integrity/next-integrity]
[cannot apply to pcmoore-selinux/next security/next-testing linus/master v5.8-rc5 next-20200717]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Lakshmi-Ramasubramanian/LSM-Meas...
base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
security/selinux/measure.c: In function 'selinux_hash_policy':
>> security/selinux/measure.c:57:8: error: implicit declaration of function 'crypto_alloc_shash' [-Werror=implicit-function-declaration]
57 | tfm = crypto_alloc_shash(hash_alg_name, 0, 0);
| ^~~~~~~~~~~~~~~~~~
>> security/selinux/measure.c:57:6: warning: assignment to 'struct crypto_shash *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
57 | tfm = crypto_alloc_shash(hash_alg_name, 0, 0);
| ^
>> security/selinux/measure.c:61:14: error: implicit declaration of function 'crypto_shash_descsize' [-Werror=implicit-function-declaration]
61 | desc_size = crypto_shash_descsize(tfm) + sizeof(*desc);
| ^~~~~~~~~~~~~~~~~~~~~
>> security/selinux/measure.c:61:50: error: dereferencing pointer to incomplete type 'struct shash_desc'
61 | desc_size = crypto_shash_descsize(tfm) + sizeof(*desc);
| ^~~~~
>> security/selinux/measure.c:62:16: error: implicit declaration of function 'crypto_shash_digestsize' [-Werror=implicit-function-declaration]
62 | digest_size = crypto_shash_digestsize(tfm);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> security/selinux/measure.c:78:8: error: implicit declaration of function 'crypto_shash_digest' [-Werror=implicit-function-declaration]
78 | ret = crypto_shash_digest(desc, policy, policy_len, digest);
| ^~~~~~~~~~~~~~~~~~~
>> security/selinux/measure.c:90:2: error: implicit declaration of function 'crypto_free_shash' [-Werror=implicit-function-declaration]
90 | crypto_free_shash(tfm);
| ^~~~~~~~~~~~~~~~~
security/selinux/measure.c: In function 'selinux_measure_state':
security/selinux/measure.c:132:11: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
132 | if (curr >= 0 && curr < selinux_state_string_len)
| ^~
security/selinux/measure.c:148:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
148 | vfree(policy);
| ^~~~~
| kvfree
cc1: some warnings being treated as errors
vim +/crypto_alloc_shash +57 security/selinux/measure.c
45
46 static int selinux_hash_policy(const char *hash_alg_name,
47 void *policy, size_t policy_len,
48 void **policy_hash, int *policy_hash_len)
49 {
50 struct crypto_shash *tfm;
51 struct shash_desc *desc = NULL;
52 void *digest = NULL;
53 int desc_size;
54 int digest_size;
55 int ret = 0;
56
> 57 tfm = crypto_alloc_shash(hash_alg_name, 0, 0);
58 if (IS_ERR(tfm))
59 return PTR_ERR(tfm);
60
> 61 desc_size = crypto_shash_descsize(tfm) + sizeof(*desc);
> 62 digest_size = crypto_shash_digestsize(tfm);
63
64 digest = kmalloc(digest_size, GFP_KERNEL);
65 if (!digest) {
66 ret = -ENOMEM;
67 goto error;
68 }
69
70 desc = kzalloc(desc_size, GFP_KERNEL);
71 if (!desc) {
72 ret = -ENOMEM;
73 goto error;
74 }
75
76 desc->tfm = tfm;
77
> 78 ret = crypto_shash_digest(desc, policy, policy_len, digest);
79 if (ret < 0)
80 goto error;
81
82 *policy_hash_len = digest_size;
83 *policy_hash = digest;
84 digest = NULL;
85
86 error:
87 kfree(desc);
88 kfree(digest);
89
> 90 crypto_free_shash(tfm);
91
92 return ret;
93 }
94
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-review:UPDATE-20200714-054132/Jian-Cai/x86-entry-add-compatibility-with-IAS/20200713-092712 1/1] undefined reference to `i'
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200714-054132/Jian-Cai/...
head: e6faa7ae3dbe0360a57bfba283322276ba5fd65f
commit: e6faa7ae3dbe0360a57bfba283322276ba5fd65f [1/1] x86/entry: add compatibility with IAS
config: x86_64-randconfig-s021-20200717 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout e6faa7ae3dbe0360a57bfba283322276ba5fd65f
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: arch/x86/entry/entry_64.o: in function `spurious_entries_start':
>> (.entry.text+0x771): undefined reference to `i'
>> ld: (.entry.text+0x779): undefined reference to `i'
ld: (.entry.text+0x781): undefined reference to `i'
ld: (.entry.text+0x789): undefined reference to `i'
ld: (.entry.text+0x791): undefined reference to `i'
ld: arch/x86/entry/entry_64.o:(.entry.text+0x799): more undefined references to `i' follow
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v3 4/5] LSM: Define SELinux function to measure security state
by kernel test robot
Hi Lakshmi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on integrity/next-integrity]
[cannot apply to pcmoore-selinux/next security/next-testing linus/master v5.8-rc5 next-20200717]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Lakshmi-Ramasubramanian/LSM-Meas...
base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
security/selinux/measure.c: In function 'selinux_measure_state':
security/selinux/measure.c:132:11: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
132 | if (curr >= 0 && curr < selinux_state_string_len)
| ^~
>> security/selinux/measure.c:148:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
148 | vfree(policy);
| ^~~~~
| kvfree
cc1: some warnings being treated as errors
vim +148 security/selinux/measure.c
94
95 void selinux_measure_state(struct selinux_state *selinux_state)
96 {
97 void *policy = NULL;
98 void *policy_hash = NULL;
99 size_t curr, buflen;
100 int i, policy_hash_len, rc = 0;
101
102 if (!selinux_initialized(selinux_state)) {
103 pr_warn("%s: SELinux not yet initialized.\n", __func__);
104 return;
105 }
106
107 if (!selinux_state_string) {
108 pr_warn("%s: Buffer for state not allocated.\n", __func__);
109 return;
110 }
111
112 curr = snprintf(selinux_state_string, selinux_state_string_len,
113 str_format, "enabled",
114 !selinux_disabled(selinux_state));
115 curr += snprintf((selinux_state_string + curr),
116 (selinux_state_string_len - curr),
117 str_format, "enforcing",
118 enforcing_enabled(selinux_state));
119 curr += snprintf((selinux_state_string + curr),
120 (selinux_state_string_len - curr),
121 str_format, "checkreqprot",
122 selinux_checkreqprot(selinux_state));
123
124 for (i = 3; i < selinux_state_count; i++) {
125 curr += snprintf((selinux_state_string + curr),
126 (selinux_state_string_len - curr),
127 str_format,
128 selinux_policycap_names[i - 3],
129 selinux_state->policycap[i - 3]);
130 }
131
> 132 if (curr >= 0 && curr < selinux_state_string_len)
133 ima_lsm_state("selinux-state", selinux_state_string, curr);
134 else {
135 rc = -EINVAL;
136 goto out;
137 }
138
139 rc = security_read_policy_kernel(selinux_state, &policy, &buflen);
140 if (!rc)
141 rc = selinux_hash_policy("sha256", policy, buflen,
142 &policy_hash, &policy_hash_len);
143 if (!rc)
144 ima_lsm_state("selinux-policy-hash", policy_hash,
145 policy_hash_len);
146
147 out:
> 148 vfree(policy);
149 kfree(policy_hash);
150 }
151
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:959:30: warning: variable 'topology' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4ebf8d7649cd86c41c41bf48da4b7761da2d5009
commit: de3916c70a24e3e1bdbf6b0a77d75b069d8953d9 drm/msm/dpu: Track resources in global state
date: 4 months ago
config: arm-randconfig-r026-20200717 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout de3916c70a24e3e1bdbf6b0a77d75b069d8953d9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_mode_set':
>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:959:30: warning: variable 'topology' set but not used [-Wunused-but-set-variable]
959 | struct msm_display_topology topology;
| ^~~~~~~~
vim +/topology +959 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 946
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 947 static void dpu_encoder_virt_mode_set(struct drm_encoder *drm_enc,
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 948 struct drm_display_mode *mode,
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 949 struct drm_display_mode *adj_mode)
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 950 {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 951 struct dpu_encoder_virt *dpu_enc;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 952 struct msm_drm_private *priv;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 953 struct dpu_kms *dpu_kms;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 954 struct list_head *connector_list;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 955 struct drm_connector *conn = NULL, *conn_iter;
c2ab55a68a3374 Jeykumar Sankaran 2019-02-13 956 struct drm_crtc *drm_crtc;
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 957 struct dpu_crtc_state *cstate;
de3916c70a24e3 Drew Davenport 2020-02-19 958 struct dpu_global_state *global_state;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 @959 struct msm_display_topology topology;
b954fa6baaca7a Drew Davenport 2020-02-19 960 struct dpu_hw_blk *hw_pp[MAX_CHANNELS_PER_ENC];
b954fa6baaca7a Drew Davenport 2020-02-19 961 struct dpu_hw_blk *hw_ctl[MAX_CHANNELS_PER_ENC];
b954fa6baaca7a Drew Davenport 2020-02-19 962 struct dpu_hw_blk *hw_lm[MAX_CHANNELS_PER_ENC];
b954fa6baaca7a Drew Davenport 2020-02-19 963 int num_lm, num_ctl, num_pp;
de3916c70a24e3 Drew Davenport 2020-02-19 964 int i, j;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 965
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 966 if (!drm_enc) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 967 DPU_ERROR("invalid encoder\n");
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 968 return;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 969 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 970
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 971 dpu_enc = to_dpu_encoder_virt(drm_enc);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 972 DPU_DEBUG_ENC(dpu_enc, "\n");
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 973
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 974 priv = drm_enc->dev->dev_private;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 975 dpu_kms = to_dpu_kms(priv->kms);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 976 connector_list = &dpu_kms->dev->mode_config.connector_list;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 977
de3916c70a24e3 Drew Davenport 2020-02-19 978 global_state = dpu_kms_get_existing_global_state(dpu_kms);
de3916c70a24e3 Drew Davenport 2020-02-19 979 if (IS_ERR_OR_NULL(global_state)) {
de3916c70a24e3 Drew Davenport 2020-02-19 980 DPU_ERROR("Failed to get global state");
de3916c70a24e3 Drew Davenport 2020-02-19 981 return;
de3916c70a24e3 Drew Davenport 2020-02-19 982 }
de3916c70a24e3 Drew Davenport 2020-02-19 983
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 984 trace_dpu_enc_mode_set(DRMID(drm_enc));
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 985
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 986 list_for_each_entry(conn_iter, connector_list, head)
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 987 if (conn_iter->encoder == drm_enc)
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 988 conn = conn_iter;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 989
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 990 if (!conn) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 991 DPU_ERROR_ENC(dpu_enc, "failed to find attached connector\n");
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 992 return;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 993 } else if (!conn->state) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 994 DPU_ERROR_ENC(dpu_enc, "invalid connector state\n");
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 995 return;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 996 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 997
c2ab55a68a3374 Jeykumar Sankaran 2019-02-13 998 drm_for_each_crtc(drm_crtc, drm_enc->dev)
c2ab55a68a3374 Jeykumar Sankaran 2019-02-13 999 if (drm_crtc->state->encoder_mask & drm_encoder_mask(drm_enc))
c2ab55a68a3374 Jeykumar Sankaran 2019-02-13 1000 break;
c2ab55a68a3374 Jeykumar Sankaran 2019-02-13 1001
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1002 topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1003
de3916c70a24e3 Drew Davenport 2020-02-19 1004 /* Query resource that have been reserved in atomic check step. */
de3916c70a24e3 Drew Davenport 2020-02-19 1005 num_pp = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
de3916c70a24e3 Drew Davenport 2020-02-19 1006 drm_enc->base.id, DPU_HW_BLK_PINGPONG, hw_pp,
de3916c70a24e3 Drew Davenport 2020-02-19 1007 ARRAY_SIZE(hw_pp));
de3916c70a24e3 Drew Davenport 2020-02-19 1008 num_ctl = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
de3916c70a24e3 Drew Davenport 2020-02-19 1009 drm_enc->base.id, DPU_HW_BLK_CTL, hw_ctl, ARRAY_SIZE(hw_ctl));
de3916c70a24e3 Drew Davenport 2020-02-19 1010 num_lm = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
de3916c70a24e3 Drew Davenport 2020-02-19 1011 drm_enc->base.id, DPU_HW_BLK_LM, hw_lm, ARRAY_SIZE(hw_lm));
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1012
b954fa6baaca7a Drew Davenport 2020-02-19 1013 for (i = 0; i < MAX_CHANNELS_PER_ENC; i++)
b954fa6baaca7a Drew Davenport 2020-02-19 1014 dpu_enc->hw_pp[i] = i < num_pp ? to_dpu_hw_pingpong(hw_pp[i])
b954fa6baaca7a Drew Davenport 2020-02-19 1015 : NULL;
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1016
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1017 cstate = to_dpu_crtc_state(drm_crtc->state);
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1018
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1019 for (i = 0; i < num_lm; i++) {
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1020 int ctl_idx = (i < num_ctl) ? i : (num_ctl-1);
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1021
b954fa6baaca7a Drew Davenport 2020-02-19 1022 cstate->mixers[i].hw_lm = to_dpu_hw_mixer(hw_lm[i]);
b954fa6baaca7a Drew Davenport 2020-02-19 1023 cstate->mixers[i].lm_ctl = to_dpu_hw_ctl(hw_ctl[ctl_idx]);
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1024 }
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1025
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1026 cstate->num_mixers = num_lm;
b107603b4ad0f2 Jeykumar Sankaran 2019-02-13 1027
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1028 for (i = 0; i < dpu_enc->num_phys_encs; i++) {
b954fa6baaca7a Drew Davenport 2020-02-19 1029 int num_blk;
b954fa6baaca7a Drew Davenport 2020-02-19 1030 struct dpu_hw_blk *hw_blk[MAX_CHANNELS_PER_ENC];
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1031 struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i];
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1032
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1033 if (!dpu_enc->hw_pp[i]) {
b6fadcade62704 Drew Davenport 2019-12-06 1034 DPU_ERROR_ENC(dpu_enc,
b6fadcade62704 Drew Davenport 2019-12-06 1035 "no pp block assigned at idx: %d\n", i);
de3916c70a24e3 Drew Davenport 2020-02-19 1036 return;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1037 }
3f4db2e2cc4128 Jeykumar Sankaran 2018-09-05 1038
3f4db2e2cc4128 Jeykumar Sankaran 2018-09-05 1039 if (!hw_ctl[i]) {
b6fadcade62704 Drew Davenport 2019-12-06 1040 DPU_ERROR_ENC(dpu_enc,
b6fadcade62704 Drew Davenport 2019-12-06 1041 "no ctl block assigned at idx: %d\n", i);
de3916c70a24e3 Drew Davenport 2020-02-19 1042 return;
3f4db2e2cc4128 Jeykumar Sankaran 2018-09-05 1043 }
3f4db2e2cc4128 Jeykumar Sankaran 2018-09-05 1044
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1045 phys->hw_pp = dpu_enc->hw_pp[i];
b954fa6baaca7a Drew Davenport 2020-02-19 1046 phys->hw_ctl = to_dpu_hw_ctl(hw_ctl[i]);
3f4db2e2cc4128 Jeykumar Sankaran 2018-09-05 1047
b954fa6baaca7a Drew Davenport 2020-02-19 1048 num_blk = dpu_rm_get_assigned_resources(&dpu_kms->rm,
de3916c70a24e3 Drew Davenport 2020-02-19 1049 global_state, drm_enc->base.id, DPU_HW_BLK_INTF,
de3916c70a24e3 Drew Davenport 2020-02-19 1050 hw_blk, ARRAY_SIZE(hw_blk));
b954fa6baaca7a Drew Davenport 2020-02-19 1051 for (j = 0; j < num_blk; j++) {
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1052 struct dpu_hw_intf *hw_intf;
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1053
b954fa6baaca7a Drew Davenport 2020-02-19 1054 hw_intf = to_dpu_hw_intf(hw_blk[i]);
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1055 if (hw_intf->idx == phys->intf_idx)
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1056 phys->hw_intf = hw_intf;
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1057 }
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1058
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1059 if (!phys->hw_intf) {
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1060 DPU_ERROR_ENC(dpu_enc,
b6fadcade62704 Drew Davenport 2019-12-06 1061 "no intf block assigned at idx: %d\n", i);
de3916c70a24e3 Drew Davenport 2020-02-19 1062 return;
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1063 }
9d4c8fd1af4687 Jeykumar Sankaran 2019-02-13 1064
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1065 phys->connector = conn->state->connector;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1066 if (phys->ops.mode_set)
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1067 phys->ops.mode_set(phys, mode, adj_mode);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1068 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1069 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1070
:::::: The code at line 959 was first introduced by commit
:::::: 25fdd5933e4c0f5fe2ea5cd59994f8ac5fbe90ef drm/msm: Add SDM845 DPU support
:::::: TO: Jeykumar Sankaran <jsanka(a)codeaurora.org>
:::::: CC: Sean Paul <seanpaul(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months