Re: [PATCH] Documentation/gpu: resolve kerneldoc duplicate declaration warning
From: Akira Yokosawa
Date: Thu Apr 16 2026 - 01:42:32 EST
Hello,
> On 18 March 2026 8:06:12 pm IST, Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx> wrote:
>>From: Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>
>>
>>kernel-doc build with `make htmldocs` reports following WARNINGS.
>>
>> Documentation/gpu/drm-kms:360: ../drivers/gpu/drm/drm_fourcc.c:397:
>> WARNING: Duplicate C declaration, also defined at gpu/drm-kms:35.
>> Declaration is '.. c:function::
>> const struct drm_format_info * drm_format_info (u32 format)'.
>>
>> Documentation/gpu/drm-kms:491: ../drivers/gpu/drm/drm_modeset_lock.c:377:
>> WARNING: Duplicate C declaration, also defined at gpu/drm-kms:48.
>> Declaration is '.. c:function:: int drm_modeset_lock
>> (struct drm_modeset_lock *lock, struct drm_modeset_acquire_ctx *ctx)'.
>>
>> Documentation/gpu/drm-uapi:607: ../drivers/gpu/drm/drm_ioctl.c:923:
>> WARNING: Duplicate C declaration, also defined at gpu/drm-uapi:69.
>> Declaration is '.. c:function::
>> bool drm_ioctl_flags (unsigned int nr, unsigned int *flags)'.
>>
>>Add :no-identifiers: to prevent duplicate identifier generation and
>>keep the function documented at its implementation site.
>>
>>No functional change.
>>
>>Link: https://lore.kernel.org/oe-kbuild-all/202512302319.1PGGt3CN-lkp@xxxxxxxxx/
>>Signed-off-by: Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>
>>---
>> Documentation/gpu/drm-kms.rst | 2 ++
>> Documentation/gpu/drm-uapi.rst | 3 ++-
>> 2 files changed, 4 insertions(+), 1 deletion(-)
>>
>>diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst
>>index 2292e65f044c..0f0f90b3186d 100644
>>--- a/Documentation/gpu/drm-kms.rst
>>+++ b/Documentation/gpu/drm-kms.rst
>>@@ -356,6 +356,7 @@ Format Functions Reference
>>
>> .. kernel-doc:: include/drm/drm_fourcc.h
>> :internal:
>>+ :no-identifiers: drm_format_info
>>
>> .. kernel-doc:: drivers/gpu/drm/drm_fourcc.c
>> :export:
>>@@ -487,6 +488,7 @@ KMS Locking
>>
>> .. kernel-doc:: include/drm/drm_modeset_lock.h
>> :internal:
>>+ :no-identifiers: drm_modeset_lock
>>
>> .. kernel-doc:: drivers/gpu/drm/drm_modeset_lock.c
>> :export:
>>diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
>>index d98428a592f1..73b49e0dcda8 100644
>>--- a/Documentation/gpu/drm-uapi.rst
>>+++ b/Documentation/gpu/drm-uapi.rst
>>@@ -603,6 +603,7 @@ DRM specific patterns. Note that ENOTTY has the slightly unintuitive meaning of
>>
>> .. kernel-doc:: include/drm/drm_ioctl.h
>> :internal:
>>+ :no-identifiers: drm_ioctl_flags
>>
>> .. kernel-doc:: drivers/gpu/drm/drm_ioctl.c
>> :export:
>>@@ -761,4 +762,4 @@ Stable uAPI events
>> From ``drivers/gpu/drm/scheduler/gpu_scheduler_trace.h``
>>
>> .. kernel-doc:: drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
>>- :doc: uAPI trace events
>>\ No newline at end of file
>>+ :doc: uAPI trace events
>
> Hi all,
>
> Requesting your input on the change.
> Is there anything that I missed or required correction ?
Your patch is ignored because there is no duplicate in those identifiers.
As you are well aware of, you can have a function and a struct of
the same name.
It is a long-standing bug (almost 6 years now!) in Sphinx C-domain support.
Please have a look at my earlier email:
https://lore.kernel.org/f735ce0b-db1e-49bc-86ac-b5ab8e4aec31@xxxxxxxxx/
It is dated "26 Mar 2024", but the issue remains unresolved.
I'd appreciate if you could make some contribution for fixing the Sphinx
bug.
Regards, Akira
PS: Please ignore several typos I made in the earlier email ;-)