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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 22.02.24 um 14:25 schrieb Biju Das:
Hi Thomas Zimmermann,

-----Original Message-----
From: Thomas Zimmermann <tzimmermann@xxxxxxx>
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@xxxxxxxxxxxxxxxx>
Closes:
Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

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)





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux