On Mon, Jan 16, 2023 at 11:07 AM Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx> wrote: > > 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. > Reviewed-by: Karol Herbst <kherbst@xxxxxxxxxx> will merge it into drm-misc soon > Cc: Martin Liska <mliska@xxxxxxx> > Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> > Cc: Karol Herbst <kherbst@xxxxxxxxxx> > Cc: Lyude Paul <lyude@xxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: nouveau@xxxxxxxxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx> > --- > > Notes: > [v2] switch to uint instead of to enum > > drivers/gpu/drm/nouveau/dispnv50/wndw.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.h b/drivers/gpu/drm/nouveau/dispnv50/wndw.h > index 591c852f326b..76a6ae5d5652 100644 > --- a/drivers/gpu/drm/nouveau/dispnv50/wndw.h > +++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.h > @@ -35,8 +35,9 @@ struct nv50_wndw { > > int nv50_wndw_new_(const struct nv50_wndw_func *, struct drm_device *, > enum drm_plane_type, const char *name, int index, > - const u32 *format, enum nv50_disp_interlock_type, > - u32 interlock_data, u32 heads, struct nv50_wndw **); > + const u32 *format, u32 heads, > + enum nv50_disp_interlock_type, u32 interlock_data, > + struct nv50_wndw **); > void nv50_wndw_flush_set(struct nv50_wndw *, u32 *interlock, > struct nv50_wndw_atom *); > void nv50_wndw_flush_clr(struct nv50_wndw *, u32 *interlock, bool flush, > -- > 2.39.0 >