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 drm-tip/drm-tip drm-exynos/exynos-drm-next next-20210426] [cannot apply to sunxi/sunxi/for-next tegra-drm/drm/tegra/for-next linus/master linux-arm/drm-armada-devel linux-arm/drm-armada-fixes drm/drm-next v5.12] [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/20210427-014025 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: mips-randconfig-m031-20210426 (attached as .config) compiler: mips-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 # https://github.com/0day-ci/linux/commit/ecfbc414b1dcfcaa7a3e39c8b5a1f10377e1548e 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/20210427-014025 git checkout ecfbc414b1dcfcaa7a3e39c8b5a1f10377e1548e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips 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:529:13: warning: no previous prototype for 'drm_get_color_transfer_function_name' [-Wmissing-prototypes] 529 | const char *drm_get_color_transfer_function_name(enum drm_color_transfer_function tf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- >> drivers/gpu/drm/drm_color_mgmt.c:530: warning: expecting prototype for drm_get_color_transfer_function(). Prototype was for drm_get_color_transfer_function_name() instead vim +/drm_get_color_transfer_function_name +529 drivers/gpu/drm/drm_color_mgmt.c 521 522 /** 523 * drm_get_color_transfer_function - return a string for color transfer function 524 * @tf: transfer function to compute name of 525 * 526 * In contrast to the other drm_get_*_name functions this one here returns a 527 * const pointer and hence is threadsafe. 528 */ > 529 const char *drm_get_color_transfer_function_name(enum drm_color_transfer_function tf) > 530 { 531 if (WARN_ON(tf >= ARRAY_SIZE(color_tf_name))) 532 return "unknown"; 533 534 return color_tf_name[tf]; 535 } 536 /** 537 * drm_plane_create_color_properties - color encoding related plane properties 538 * @plane: plane object 539 * @supported_encodings: bitfield indicating supported color encodings 540 * @supported_ranges: bitfileld indicating supported color ranges 541 * @supported_tfs: bitfileld indicating supported color transfer functions 542 * @default_encoding: default color encoding 543 * @default_range: default color range 544 * @default_tf: default color transfer function 545 * 546 * Create and attach plane specific COLOR_ENCODING, COLOR_RANGE and COLOR_TRANSFER_FUNCTION 547 * properties to @plane. The supported encodings, ranges and tfs should 548 * be provided in supported_encodings, supported_ranges and supported_tfs bitmasks. 549 * Each bit set in the bitmask indicates that its number as enum 550 * value is supported. 551 */ 552 int drm_plane_create_color_properties(struct drm_plane *plane, 553 u32 supported_encodings, 554 u32 supported_ranges, 555 u32 supported_tfs, 556 enum drm_color_encoding default_encoding, 557 enum drm_color_range default_range, 558 enum drm_color_transfer_function default_tf) 559 { 560 struct drm_device *dev = plane->dev; 561 struct drm_property *prop; 562 struct drm_prop_enum_list enum_list[max_t(int, DRM_COLOR_ENCODING_MAX, 563 max_t(int, DRM_COLOR_RANGE_MAX, 564 DRM_COLOR_TF_MAX))]; 565 int i, len; 566 567 if (WARN_ON(supported_encodings == 0 || 568 (supported_encodings & -BIT(DRM_COLOR_ENCODING_MAX)) != 0 || 569 (supported_encodings & BIT(default_encoding)) == 0)) 570 return -EINVAL; 571 572 if (WARN_ON(supported_ranges == 0 || 573 (supported_ranges & -BIT(DRM_COLOR_RANGE_MAX)) != 0 || 574 (supported_ranges & BIT(default_range)) == 0)) 575 return -EINVAL; 576 577 if (WARN_ON(supported_tfs == 0 || 578 (supported_tfs & -BIT(DRM_COLOR_TF_MAX)) != 0 || 579 (supported_tfs & BIT(default_tf)) == 0)) 580 return -EINVAL; 581 582 len = 0; 583 for (i = 0; i < DRM_COLOR_ENCODING_MAX; i++) { 584 if ((supported_encodings & BIT(i)) == 0) 585 continue; 586 587 enum_list[len].type = i; 588 enum_list[len].name = color_encoding_name[i]; 589 len++; 590 } 591 592 prop = drm_property_create_enum(dev, 0, "COLOR_ENCODING", 593 enum_list, len); 594 if (!prop) 595 return -ENOMEM; 596 plane->color_encoding_property = prop; 597 drm_object_attach_property(&plane->base, prop, default_encoding); 598 if (plane->state) 599 plane->state->color_encoding = default_encoding; 600 601 len = 0; 602 for (i = 0; i < DRM_COLOR_RANGE_MAX; i++) { 603 if ((supported_ranges & BIT(i)) == 0) 604 continue; 605 606 enum_list[len].type = i; 607 enum_list[len].name = color_range_name[i]; 608 len++; 609 } 610 611 prop = drm_property_create_enum(dev, 0, "COLOR_RANGE", 612 enum_list, len); 613 if (!prop) 614 return -ENOMEM; 615 plane->color_range_property = prop; 616 drm_object_attach_property(&plane->base, prop, default_range); 617 if (plane->state) 618 plane->state->color_range = default_range; 619 620 621 len = 0; 622 for (i = 0; i < DRM_COLOR_TF_MAX; i++) { 623 if ((supported_tfs & BIT(i)) == 0) 624 continue; 625 626 enum_list[len].type = i; 627 enum_list[len].name = color_tf_name[i]; 628 len++; 629 } 630 631 prop = drm_property_create_enum(dev, 0, "COLOR_TRANSFER_FUNCTION", 632 enum_list, len); 633 if (!prop) 634 return -ENOMEM; 635 plane->color_tf_property = prop; 636 drm_object_attach_property(&plane->base, prop, default_tf); 637 if (plane->state) 638 plane->state->color_tf = default_tf; 639 640 return 0; 641 } 642 EXPORT_SYMBOL(drm_plane_create_color_properties); 643 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org