With CONFIG_DEV_COREDUMP=y and CONFIG_DEBUG_FS=n, building fails:
drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:4: error: ‘struct msm_gpu_funcs’ has
no member named ‘show’
.show = adreno_show,
^~~~
drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: error: initialization from
incompatible pointer type [-Werror=incompatible-pointer-types]
.show = adreno_show,
^~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: note: (near initialization for
‘funcs.base.gpu_busy’)
cc1: some warnings being treated as errors
Fixes: c0fec7f562ec7 (drm/msm/gpu: Capture the GPU state on a GPU hang)
Cc: [email protected] # v4.19+
Signed-off-by: Rasmus Villemoes <[email protected]>
---
drivers/gpu/drm/msm/msm_gpu.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h
index efb49bb64191..4cb41db7f9e8 100644
--- a/drivers/gpu/drm/msm/msm_gpu.h
+++ b/drivers/gpu/drm/msm/msm_gpu.h
@@ -63,10 +63,12 @@ struct msm_gpu_funcs {
struct msm_ringbuffer *(*active_ring)(struct msm_gpu *gpu);
void (*recover)(struct msm_gpu *gpu);
void (*destroy)(struct msm_gpu *gpu);
-#ifdef CONFIG_DEBUG_FS
- /* show GPU status in debugfs: */
+#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
+ /* show GPU status in debugfs or device coredump: */
void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
struct drm_printer *p);
+#endif
+#ifdef CONFIG_DEBUG_FS
/* for generation specific debugfs: */
int (*debugfs_init)(struct msm_gpu *gpu, struct drm_minor *minor);
#endif
--
2.20.1