[PATCH v2] drm: renesas: rz-du: Fix redefinition errors related to rzg2l_du_vsp_*()
Thomas Zimmermann
tzimmermann at suse.de
Thu Feb 22 13:21:23 UTC 2024
Hi
Am 22.02.24 um 12:26 schrieb Biju Das:
> CONFIG_DRM_RCAR_VSP is related to R-Car and not related to RZ/G2L
> specific. This caused the below build issue. Fix this errors by replacing
> CONFIG_DRM_RCAR_VSP->CONFIG_VIDEO_RENESAS_VSP1. While at it, use
> IS_ENABLED() macro.
>
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:47:6: error: redefinition of 'rzg2l_du_vsp_enable'
> 47 | void rzg2l_du_vsp_enable(struct rzg2l_du_crtc *crtc)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h:18,
> from drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:30:
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h:72:20: note: previous definition of 'rzg2l_du_vsp_enable' with type 'void(struct rzg2l_du_crtc *)'
> 72 | static inline void rzg2l_du_vsp_enable(struct rzg2l_du_crtc *crtc) { };
> | ^~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:61:6: error: redefinition of 'rzg2l_du_vsp_disable'
> 61 | void rzg2l_du_vsp_disable(struct rzg2l_du_crtc *crtc)
> | ^~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h:73:20: note: previous definition of 'rzg2l_du_vsp_disable' with type 'void(struct rzg2l_du_crtc *)'
> 73 | static inline void rzg2l_du_vsp_disable(struct rzg2l_du_crtc *crtc) { };
> | ^~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:66:6: error: redefinition of 'rzg2l_du_vsp_atomic_flush'
> 66 | void rzg2l_du_vsp_atomic_flush(struct rzg2l_du_crtc *crtc)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h:74:20: note: previous definition of 'rzg2l_du_vsp_atomic_flush' with type 'void(struct rzg2l_du_crtc *)'
> 74 | static inline void rzg2l_du_vsp_atomic_flush(struct rzg2l_du_crtc *crtc) { };
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:76:19: error: redefinition of 'rzg2l_du_vsp_get_drm_plane'
> 76 | struct drm_plane *rzg2l_du_vsp_get_drm_plane(struct rzg2l_du_crtc *crtc,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h:75:33: note: previous definition of 'rzg2l_du_vsp_get_drm_plane' with type 'struct drm_plane *(struct rzg2l_du_crtc *, unsigned int)'
> 75 | static inline struct drm_plane *rzg2l_du_vsp_get_drm_plane(struct rzg2l_du_crtc *crtc,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c:302:5: error: redefinition of 'rzg2l_du_vsp_init'
> 302 | int rzg2l_du_vsp_init(struct rzg2l_du_vsp *vsp, struct device_node *np,
> | ^~~~~~~~~~~~~~~~~
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h:66:19: note: previous definition of 'rzg2l_du_vsp_init' with type 'int(struct rzg2l_du_vsp *, struct device_node *, unsigned int)'
> 66 | static inline int rzg2l_du_vsp_init(struct rzg2l_du_vsp *vsp, struct device_node *np,
> | ^~~~~~~~~~~~~~~~~
>
> Reported-by: Stephen Rothwell <sfr at canb.auug.org.au>
> Closes: https://lore.kernel.org/linux-next/20240222124610.383e1ce3@canb.auug.org.au/T/#u
> Signed-off-by: Biju Das <biju.das.jz at bp.renesas.com>
Acked-by: Thomas Zimmermann <tzimmermann at suse.de>
I'm going to add
Fixes: 768e9e61b3b9 ("drm: renesas: Add RZ/G2L DU Support")
as well before merging the patch.
Best regards
Thomas
> ---
> v1->v2:
> * Dropped EXPORT symbol as both *_crtc.o and *_vsp.o are within the single module.
> * Updated the commit description.
> ---
> drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h
> index 12d98f04bf89..322eb80dcbaf 100644
> --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h
> +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h
> @@ -54,7 +54,7 @@ to_rzg2l_vsp_plane_state(struct drm_plane_state *state)
> return container_of(state, struct rzg2l_du_vsp_plane_state, state);
> }
>
> -#ifdef CONFIG_DRM_RCAR_VSP
> +#if IS_ENABLED(CONFIG_VIDEO_RENESAS_VSP1)
> int rzg2l_du_vsp_init(struct rzg2l_du_vsp *vsp, struct device_node *np,
> unsigned int crtcs);
> void rzg2l_du_vsp_enable(struct rzg2l_du_crtc *crtc);
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the dri-devel
mailing list