[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