Re: [PATCH] drm: Fix no_vblank field references in documentation

From: Randy Dunlap
Date: Tue Apr 16 2024 - 16:50:49 EST


Hi,

On 4/16/24 12:29 PM, Marijn Suijten wrote:
> 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

Do you see differences in the generated html for these changes?

"&struct somestruct" and "&somestruct" should both be OK AFAIK, although
Documentation/doc-guide/kernel-doc.rst seems to say that using
"&struct somestruct" is preferred.

--
#Randy
https://people.kernel.org/tglx/notes-about-netiquette
https://subspace.kernel.org/etiquette.html