Browsing the DRM documentation shows that drm_crtc_state.no_vblank is not turned into a reference to the no_vblank field, but rather a reference to `struct drm_crtc_state`. The only difference with other field references is that the struct name is prefixed by the literal `struct` tag, despite also already having a `&` reference prefix in two of the three cases. Remove the `struct` prefix to turn these references into proper links to the designated field. Fixes: 7beb691f1e6f ("drm: Initialize struct drm_crtc_state.no_vblank from device settings") Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> --- Note that a simple regex like "&struct \w+\.\w+" shows that there are only a handful of violators, most of them inside DRM files. Let me know if you'd like a v2 that addresses all of them in one go (in separate patches or one combined change)? Kind regards, Marijn --- drivers/gpu/drm/drm_vblank.c | 2 +- include/drm/drm_crtc.h | 2 +- include/drm/drm_simple_kms_helper.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 702a12bc93bd..45504732f98e 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -140,7 +140,7 @@ * must not call drm_vblank_init(). For such drivers, atomic helpers will * automatically generate fake vblank events as part of the display update. * This functionality also can be controlled by the driver by enabling and - * disabling struct drm_crtc_state.no_vblank. + * disabling &drm_crtc_state.no_vblank. */ /* Retry timestamp calculation up to 3 times to satisfy diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 8b48a1974da3..eb75d0aec170 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -342,7 +342,7 @@ struct drm_crtc_state { * that case. * * For very simple hardware without VBLANK interrupt, enabling - * &struct drm_crtc_state.no_vblank makes DRM's atomic commit helpers + * &drm_crtc_state.no_vblank makes DRM's atomic commit helpers * send a fake VBLANK event at the end of the display update after all * hardware changes have been applied. See * drm_atomic_helper_fake_vblank(). diff --git a/include/drm/drm_simple_kms_helper.h b/include/drm/drm_simple_kms_helper.h index b2486d073763..6e64d91819e7 100644 --- a/include/drm/drm_simple_kms_helper.h +++ b/include/drm/drm_simple_kms_helper.h @@ -102,7 +102,7 @@ struct drm_simple_display_pipe_funcs { * drm_crtc_arm_vblank_event(), when the driver supports vblank * interrupt handling, or drm_crtc_send_vblank_event() for more * complex case. In case the hardware lacks vblank support entirely, - * drivers can set &struct drm_crtc_state.no_vblank in + * drivers can set &drm_crtc_state.no_vblank in * &struct drm_simple_display_pipe_funcs.check and let DRM's * atomic helper fake a vblank event. */ --- base-commit: 6bd343537461b57f3efe5dfc5fc193a232dfef1e change-id: 20240416-drm-no_vblank-kdoc-link-fea1b53008a3 Best regards, -- Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>