Hi Harry, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on drm-intel/for-linux-next] [also build test WARNING on linus/master v5.14-rc3 next-20210730] [cannot apply to linux-arm/drm-armada-devel linux-arm/drm-armada-fixes] [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/Harry-Wentland/A-drm_plane-API-to-support-HDR-planes/20210731-044401 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: arm-aspeed_g5_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 10.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 # https://github.com/0day-ci/linux/commit/c326e234abc27458025fafb1a4519d37bb47df68 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Harry-Wentland/A-drm_plane-API-to-support-HDR-planes/20210731-044401 git checkout c326e234abc27458025fafb1a4519d37bb47df68 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/gpu/drm/drm_color_mgmt.c:526:13: warning: no previous prototype for 'drm_get_transfer_function_name' [-Wmissing-prototypes] 526 | const char *drm_get_transfer_function_name(enum drm_transfer_function tf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- >> drivers/gpu/drm/drm_color_mgmt.c:527: warning: expecting prototype for drm_get_transfer_function(). Prototype was for drm_get_transfer_function_name() instead vim +/drm_get_transfer_function_name +526 drivers/gpu/drm/drm_color_mgmt.c 518 519 /** 520 * drm_get_transfer_function - return a string for transfer function 521 * @tf: transfer function to compute name of 522 * 523 * In contrast to the other drm_get_*_name functions this one here returns a 524 * const pointer and hence is threadsafe. 525 */ > 526 const char *drm_get_transfer_function_name(enum drm_transfer_function tf) > 527 { 528 if (WARN_ON(tf >= ARRAY_SIZE(tf_name))) 529 return "unknown"; 530 531 return tf_name[tf]; 532 } 533 /** 534 * drm_plane_create_color_properties - color encoding related plane properties 535 * @plane: plane object 536 * @supported_encodings: bitfield indicating supported color encodings 537 * @supported_ranges: bitfileld indicating supported color ranges 538 * @supported_tfs: bitfield indicating supported transfer functions 539 * @default_encoding: default color encoding 540 * @default_range: default color range 541 * @default_tf: default color transfer function 542 * 543 * Create and attach plane specific COLOR_ENCODING, COLOR_RANGE and TRANSFER_FUNCTION 544 * properties to @plane. The supported encodings, ranges and tfs should 545 * be provided in supported_encodings, supported_ranges and supported_tfs bitmasks. 546 * Each bit set in the bitmask indicates that its number as enum 547 * value is supported. 548 */ 549 int drm_plane_create_color_properties(struct drm_plane *plane, 550 u32 supported_encodings, 551 u32 supported_ranges, 552 u32 supported_tfs, 553 enum drm_color_encoding default_encoding, 554 enum drm_color_range default_range, 555 enum drm_transfer_function default_tf) 556 { 557 struct drm_device *dev = plane->dev; 558 struct drm_property *prop; 559 struct drm_prop_enum_list enum_list[max_t(int, DRM_COLOR_ENCODING_MAX, 560 max_t(int, DRM_COLOR_RANGE_MAX, 561 DRM_TF_MAX))]; 562 int i, len; 563 564 if (WARN_ON(supported_encodings == 0 || 565 (supported_encodings & -BIT(DRM_COLOR_ENCODING_MAX)) != 0 || 566 (supported_encodings & BIT(default_encoding)) == 0)) 567 return -EINVAL; 568 569 if (WARN_ON(supported_ranges == 0 || 570 (supported_ranges & -BIT(DRM_COLOR_RANGE_MAX)) != 0 || 571 (supported_ranges & BIT(default_range)) == 0)) 572 return -EINVAL; 573 574 if (WARN_ON(supported_tfs == 0 || 575 (supported_tfs & -BIT(DRM_TF_MAX)) != 0 || 576 (supported_tfs & BIT(default_tf)) == 0)) 577 return -EINVAL; 578 579 len = 0; 580 for (i = 0; i < DRM_COLOR_ENCODING_MAX; i++) { 581 if ((supported_encodings & BIT(i)) == 0) 582 continue; 583 584 enum_list[len].type = i; 585 enum_list[len].name = color_encoding_name[i]; 586 len++; 587 } 588 589 prop = drm_property_create_enum(dev, 0, "COLOR_ENCODING", 590 enum_list, len); 591 if (!prop) 592 return -ENOMEM; 593 plane->color_encoding_property = prop; 594 drm_object_attach_property(&plane->base, prop, default_encoding); 595 if (plane->state) 596 plane->state->color_encoding = default_encoding; 597 598 len = 0; 599 for (i = 0; i < DRM_COLOR_RANGE_MAX; i++) { 600 if ((supported_ranges & BIT(i)) == 0) 601 continue; 602 603 enum_list[len].type = i; 604 enum_list[len].name = color_range_name[i]; 605 len++; 606 } 607 608 prop = drm_property_create_enum(dev, 0, "COLOR_RANGE", 609 enum_list, len); 610 if (!prop) 611 return -ENOMEM; 612 plane->color_range_property = prop; 613 drm_object_attach_property(&plane->base, prop, default_range); 614 if (plane->state) 615 plane->state->color_range = default_range; 616 617 618 len = 0; 619 for (i = 0; i < DRM_TF_MAX; i++) { 620 if ((supported_tfs & BIT(i)) == 0) 621 continue; 622 623 enum_list[len].type = i; 624 enum_list[len].name = tf_name[i]; 625 len++; 626 } 627 628 prop = drm_property_create_enum(dev, 0, "TRANSFER_FUNCTION", 629 enum_list, len); 630 if (!prop) 631 return -ENOMEM; 632 plane->transfer_function_property = prop; 633 drm_object_attach_property(&plane->base, prop, default_tf); 634 if (plane->state) 635 plane->state->transfer_function = default_tf; 636 637 return 0; 638 } 639 EXPORT_SYMBOL(drm_plane_create_color_properties); 640 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org