Re: [PATCH v2 2/4] drm: Add drm_get_acpi_edid() helper

kernel test robot
2024-01-31T09:37:25Z

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on rafael-pm/acpi-bus linus/master v6.8-rc2 next-20240131]
[cannot apply to drm-misc/drm-misc-next rafael-pm/devprop]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/ACPI-video-Handle-fetching-EDID-that-is-longer-than-256-bytes/20240131-032909
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link: https://lore.kernel.org/r/20240130192608.11666-3-mario.limonciello%40amd.com
patch subject: [PATCH v2 2/4] drm: Add drm_get_acpi_edid() helper
config: i386-buildonly-randconfig-001-20240131 (https://download.01.org/0day-ci/archive/20240131/202401311759.htfj4nbl-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240131/202401311759.htfj4nbl-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401311759.htfj4nbl-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/acpi/acpi_video.c:642:44: warning: format specifies type 'long' but the argument has type 'ssize_t' (aka 'int') [-Wformat]
642 | "Invalid _DDC data for length %ld\n", length);
| ~~~ ^~~~~~
| %zd
include/linux/acpi.h:1219:30: note: expanded from macro 'acpi_handle_debug'
1219 | handle, pr_fmt(fmt), ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/dynamic_debug.h:250:59: note: expanded from macro '_dynamic_func_call'
250 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:248:65: note: expanded from macro '_dynamic_func_call_cls'
248 | __dynamic_func_call_cls(__UNIQUE_ID(ddebug), cls, fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:224:15: note: expanded from macro '__dynamic_func_call_cls'
224 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
1 warning generated.

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for ACPI_WMI
Depends on [n]: X86_PLATFORM_DEVICES [=n] && ACPI [=y]
Selected by [y]:
- DRM [=y] && HAS_IOMEM [=y] && (AGP [=n] || AGP [=n]=n) && !EMULATED_CMPXCHG && HAS_DMA [=y] && X86 [=y]

vim +642 drivers/acpi/acpi_video.c

^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 612
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 613 static int
4be44fcd3bf648 drivers/acpi/video.c Len Brown 2005-08-05 614 acpi_video_device_EDID(struct acpi_video_device *device,
4be44fcd3bf648 drivers/acpi/video.c Len Brown 2005-08-05 615 union acpi_object **edid, ssize_t length)
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 616 {
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 617 int status;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 618 struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 619 union acpi_object *obj;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 620 union acpi_object arg0 = { ACPI_TYPE_INTEGER };
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 621 struct acpi_object_list args = { 1, &arg0 };
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 622
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 623
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 624 *edid = NULL;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 625
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 626 if (!device)
d550d98d331737 drivers/acpi/video.c Patrick Mochel 2006-06-27 627 return -ENODEV;
25f97b27045655 drivers/acpi/acpi_video.c Mario Limonciello 2024-01-30 628 if (!length || (length % 128))
d550d98d331737 drivers/acpi/video.c Patrick Mochel 2006-06-27 629 return -EINVAL;
25f97b27045655 drivers/acpi/acpi_video.c Mario Limonciello 2024-01-30 630 arg0.integer.value = length / 128;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 631
901302688cb85b drivers/acpi/video.c Patrick Mochel 2006-05-19 632 status = acpi_evaluate_object(device->dev->handle, "_DDC", &args, &buffer);
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 633 if (ACPI_FAILURE(status))
d550d98d331737 drivers/acpi/video.c Patrick Mochel 2006-06-27 634 return -ENODEV;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 635
50dd096973f1d9 drivers/acpi/video.c Jan Engelhardt 2006-10-01 636 obj = buffer.pointer;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 637
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 638 if (obj && obj->type == ACPI_TYPE_BUFFER)
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 639 *edid = obj;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 640 else {
25f97b27045655 drivers/acpi/acpi_video.c Mario Limonciello 2024-01-30 641 acpi_handle_debug(device->dev->handle,
25f97b27045655 drivers/acpi/acpi_video.c Mario Limonciello 2024-01-30 @642 "Invalid _DDC data for length %ld\n", length);
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 643 status = -EFAULT;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 644 kfree(obj);
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 645 }
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 646
d550d98d331737 drivers/acpi/video.c Patrick Mochel 2006-06-27 647 return status;
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 648 }
^1da177e4c3f41 drivers/acpi/video.c Linus Torvalds 2005-04-16 649