| From 1b20095cbe9e9c16dad4588993e2973f2a5e6e5f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 4 Apr 2024 18:02:25 +0200 |
| Subject: nouveau: fix function cast warning |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ Upstream commit 185fdb4697cc9684a02f2fab0530ecdd0c2f15d4 ] |
| |
| Calling a function through an incompatible pointer type causes breaks |
| kcfi, so clang warns about the assignment: |
| |
| drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c:73:10: error: cast from 'void (*)(const void *)' to 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict] |
| 73 | .fini = (void(*)(void *))kfree, |
| |
| Avoid this with a trivial wrapper. |
| |
| Fixes: c39f472e9f14 ("drm/nouveau: remove symlinks, move core/ to nvkm/ (no code changes)") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Danilo Krummrich <dakr@redhat.com> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20240404160234.2923554-1-arnd@kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c |
| index 4bf486b571013..cb05f7f48a98b 100644 |
| --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c |
| +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c |
| @@ -66,11 +66,16 @@ of_init(struct nvkm_bios *bios, const char *name) |
| return ERR_PTR(-EINVAL); |
| } |
| |
| +static void of_fini(void *p) |
| +{ |
| + kfree(p); |
| +} |
| + |
| const struct nvbios_source |
| nvbios_of = { |
| .name = "OpenFirmware", |
| .init = of_init, |
| - .fini = (void(*)(void *))kfree, |
| + .fini = of_fini, |
| .read = of_read, |
| .size = of_size, |
| .rw = false, |
| -- |
| 2.43.0 |
| |