Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/nouveau/kms/nv50: fix nv50_wndw_new_ prototype

gcc-13 warns about mismatching types for enums. That revealed switched
arguments of nv50_wndw_new_():
drivers/gpu/drm/nouveau/dispnv50/wndw.c:696:1: error: conflicting types for 'nv50_wndw_new_' due to enum/integer mismatch; have 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type, const char *, int, const u32 *, u32, enum nv50_disp_interlock_type, u32, struct nv50_wndw **)'
drivers/gpu/drm/nouveau/dispnv50/wndw.h:36:5: note: previous declaration of 'nv50_wndw_new_' with type 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type, const char *, int, const u32 *, enum nv50_disp_interlock_type, u32, u32, struct nv50_wndw **)'

It can be barely visible, but the declaration says about the parameters
in the middle:
enum nv50_disp_interlock_type,
u32 interlock_data,
u32 heads,

While the definition states differently:
u32 heads,
enum nv50_disp_interlock_type interlock_type,
u32 interlock_data,

Unify/fix the declaration to match the definition.

Fixes: 53e0a3e70de6 ("drm/nouveau/kms/nv50-: simplify tracking of channel interlocks")
Cc: Martin Liska <mliska@suse.cz>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221031114229.10289-1-jirislaby@kernel.org

authored by

Jiri Slaby (SUSE) and committed by
Karol Herbst
3638a820 7245e629

+3 -2
+3 -2
drivers/gpu/drm/nouveau/dispnv50/wndw.h
··· 35 35 36 36 int nv50_wndw_new_(const struct nv50_wndw_func *, struct drm_device *, 37 37 enum drm_plane_type, const char *name, int index, 38 - const u32 *format, enum nv50_disp_interlock_type, 39 - u32 interlock_data, u32 heads, struct nv50_wndw **); 38 + const u32 *format, u32 heads, 39 + enum nv50_disp_interlock_type, u32 interlock_data, 40 + struct nv50_wndw **); 40 41 void nv50_wndw_flush_set(struct nv50_wndw *, u32 *interlock, 41 42 struct nv50_wndw_atom *); 42 43 void nv50_wndw_flush_clr(struct nv50_wndw *, u32 *interlock, bool flush,