diff mbox series

drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

Message ID 20190403064811.25832-1-yuehaibing@huawei.com (mailing list archive)
State New, archived
Headers show
Series drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS | expand

Commit Message

Yue Haibing April 3, 2019, 6:48 a.m. UTC
From: YueHaibing <yuehaibing@huawei.com>

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@huawei.com>
Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Mukesh Ojha April 3, 2019, 8:58 a.m. UTC | #1
On 4/3/2019 12:18 PM, Yue Haibing wrote:
> From: YueHaibing <yuehaibing@huawei.com>
>
> 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@huawei.com>
> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>


Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>

Cheers,
-Mukesh

> ---
>   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
>   
>   	drm_puts(p, "registers:\n");
>   	for (i = 0; i < a6xx_state->nr_registers; i++) {
Jordan Crouse April 3, 2019, 3:36 p.m. UTC | #2
On Wed, Apr 03, 2019 at 02:48:11PM +0800, Yue Haibing wrote:
> From: YueHaibing <yuehaibing@huawei.com>
> 
> 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@huawei.com>
> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
>  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.

Jordan
Yue Haibing April 4, 2019, 2:02 a.m. UTC | #3
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@huawei.com>
>>
>> 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@huawei.com>
>> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>> ---
>>  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.

> 
> Jordan
>
Jordan Crouse April 10, 2019, 5:01 p.m. UTC | #4
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@huawei.com>
> >>
> >> 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@huawei.com>
> >> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> >> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> >> ---
> >>  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
diff mbox series

Patch

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
 
 	drm_puts(p, "registers:\n");
 	for (i = 0; i < a6xx_state->nr_registers; i++) {