Hi all, After merging the amdgpu tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from include/linux/radix-tree.h:12, from include/linux/idr.h:15, from include/linux/kernfs.h:12, from include/linux/sysfs.h:16, from include/linux/kobject.h:20, from include/linux/energy_model.h:7, from include/linux/device.h:16, from include/linux/power_supply.h:15, from drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:28: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c: In function 'amdgpu_reset_capture_coredumpm': include/linux/gfp.h:337:25: error: passing argument 5 of 'dev_coredumpm' makes pointer from integer without a cast [-Werror=int-conversion] 337 | #define GFP_KERNEL (__GFP_RECLAIM | __GFP_IO | __GFP_FS) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4726:55: note: in expansion of macro 'GFP_KERNEL' 4726 | dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL, | ^~~~~~~~~~ In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:35: include/linux/devcoredump.h:59:30: note: expected 'ssize_t (*)(char *, loff_t, size_t, void *, size_t)' {aka 'long int (*)(char *, long long int, long unsigned int, void *, long unsigned int)'} but argument is of type 'unsigned int' 59 | ssize_t (*read)(char *buffer, loff_t offset, size_t count, | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | void *data, size_t datalen), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4727:23: error: passing argument 6 of 'dev_coredumpm' from incompatible pointer type [-Werror=incompatible-pointer-types] 4727 | amdgpu_devcoredump_read, amdgpu_devcoredump_free); | ^~~~~~~~~~~~~~~~~~~~~~~ | | | ssize_t (*)(char *, loff_t, size_t, void *, size_t) {aka long int (*)(char *, long long int, long unsigned int, void *, long unsigned int)} In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:35: include/linux/devcoredump.h:61:27: note: expected 'void (*)(void *)' but argument is of type 'ssize_t (*)(char *, loff_t, size_t, void *, size_t)' {aka 'long int (*)(char *, long long int, long unsigned int, void *, long unsigned int)'} 61 | void (*free)(void *data)); | ~~~~~~~^~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:4726:9: error: too many arguments to function 'dev_coredumpm' 4726 | dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL, | ^~~~~~~~~~~~~ In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:35: include/linux/devcoredump.h:57:6: note: declared here 57 | void dev_coredumpm(struct device *dev, struct module *owner, | ^~~~~~~~~~~~~ cc1: all warnings being treated as errors Caused by commit 3d8785f6c04a ("drm/amdgpu: adding device coredump support") interacting with commit 77515ebaf019 ("devcoredump: remove the useless gfp_t parameter in dev_coredumpv and dev_coredumpm") from the driver-core tree. I have applied the following merge resolution patch for today. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu, 23 Jun 2022 15:56:22 +1000 Subject: [PATCH] fix up for "devcoredump: remove the useless gfp_t parameter in dev_coredumpv and dev_coredumpm" interacting with 3d8785f6c04a ("drm/amdgpu: adding device coredump support") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index f2a4c268ac72..9d6418bb963e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4723,7 +4723,7 @@ static void amdgpu_reset_capture_coredumpm(struct amdgpu_device *adev) struct drm_device *dev = adev_to_drm(adev); ktime_get_ts64(&adev->reset_time); - dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL, + dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, amdgpu_devcoredump_read, amdgpu_devcoredump_free); } #endif -- 2.35.1 -- Cheers, Stephen Rothwell
Attachment:
pgpE7xgXFhUKO.pgp
Description: OpenPGP digital signature