[PATCH v2] drm: renesas: rz-du: Fix redefinition errors related to rzg2l_du_vsp_*()

Thomas Zimmermann tzimmermann at suse.de
Thu Feb 22 13:30:49 UTC 2024


Hi

Am 22.02.24 um 14:25 schrieb Biju Das:
> Hi Thomas Zimmermann,
>
>> -----Original Message-----
>> From: Thomas Zimmermann <tzimmermann at suse.de>
>> Sent: Thursday, February 22, 2024 1:21 PM
>> Subject: Re: [PATCH v2] drm: renesas: rz-du: Fix redefinition errors
>> related to rzg2l_du_vsp_*()
>>
>> 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:
>> 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.
> OK to me. I thought since it is landing on next, fixes tag is not
> required. Fixes tag is required only when the patch is in a -rc series.
>
> Maybe I am wrong here??

Well, it's a fix to an existing commit. I think the rule of thumb is 
that likely anyone picking up the original commit also wants this patch. 
Adding the Fixes tag doesn't hurt at least.

Best regards
Thomas

>
> Cheers,
> Biju
>
>> 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)

-- 
--
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