Re: [Freedreno] [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

From: Jordan Crouse
Date: Wed Apr 10 2019 - 13:01:51 EST


On Thu, Apr 04, 2019 at 10:02:07AM +0800, YueHaibing wrote:
> On 2019/4/3 23:36, Jordan Crouse wrote:
> > On Wed, Apr 03, 2019 at 02:48:11PM +0800, Yue Haibing wrote:
> >> From: YueHaibing <yuehaibing@xxxxxxxxxx>
> >>
> >> When building CONFIG_DEBUG_FS is not set
> >> gcc warn this:
> >>
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
> >> adreno_show(gpu, state, p);
> >> ^~~~~~~~~~~
> >>
> >> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> >> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> >> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
> >> ---
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> index e686331..d327eb5 100644
> >> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> @@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
> >> if (IS_ERR_OR_NULL(state))
> >> return;
> >>
> >> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> >> adreno_show(gpu, state, p);
> >> +#endif
> >
> > I agree that this is a problem, but I think I would prefer if we just made a
> > stub function for adreno_show instead of doing a inline ifdef, so in
> > adreno_gpu.c:
> >
> > #ifdef defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> > ...
> > #else
> > void adreno_show(struct msm_gpu *gpu, msm_gpu_state *state,
> > struct drm_printer *p)
> > {
> > }
> > #endif
> >
> > If you want, I can do a quick patch.
>
> Sure, it's ok for me.

Sorry for the delay. I went back and looked at this and discovered that the
problem was a bit more extensive - none of a6xx_gpu_state.c is useful without
the dependencies, so I made a bit more extensive patch to handle the root of
that:

https://patchwork.freedesktop.org/series/59297/

Jordan

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project