Re: [PATCH -resend] drm/nouveau/kms/nv50- (gcc13): fix nv50_wndw_new_ prototype

From: Karol Herbst
Date: Mon Jan 16 2023 - 06:35:21 EST


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
>