On 10/31/22 13:05, Stephen Rothwell wrote: > Hi all, > > After merging the jc_docs tree, today's linux-next build (htmldocs) > produced these warnings: > > Documentation/core-api/timekeeping.rst:16: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:26. > Declaration is '.. c:function:: ktime_t ktime_get(void)'. > Documentation/core-api/timekeeping.rst:23: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:33. > Declaration is '.. c:function:: ktime_t ktime_get_boottime(void)'. > Documentation/core-api/timekeeping.rst:31: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:40. > Declaration is '.. c:function:: ktime_t ktime_get_real(void)'. > Documentation/core-api/timekeeping.rst:43: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:49. > Declaration is '.. c:function:: ktime_t ktime_get_clocktai(void)'. > Documentation/core-api/timekeeping.rst:51: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:56. > Declaration is '.. c:function:: ktime_t ktime_get_raw(void)'. > Documentation/core-api/timekeeping.rst:65: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:68. > Declaration is '.. c:function:: u64 ktime_get_ns(void)'. > Documentation/core-api/timekeeping.rst:65: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:68. > Declaration is '.. c:function:: u64 ktime_get_boottime_ns(void)'. > Documentation/core-api/timekeeping.rst:65: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:68. > Declaration is '.. c:function:: u64 ktime_get_real_ns(void)'. > Documentation/core-api/timekeeping.rst:65: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:68. > Declaration is '.. c:function:: u64 ktime_get_clocktai_ns(void)'. > Documentation/core-api/timekeeping.rst:65: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:68. > Declaration is '.. c:function:: u64 ktime_get_raw_ns(void)'. > Documentation/core-api/timekeeping.rst:75: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:77. > Declaration is '.. c:function:: void ktime_get_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:75: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:77. > Declaration is '.. c:function:: void ktime_get_boottime_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:75: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:77. > Declaration is '.. c:function:: void ktime_get_real_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:75: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:77. > Declaration is '.. c:function:: void ktime_get_clocktai_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:75: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:77. > Declaration is '.. c:function:: void ktime_get_raw_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:86: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:87. > Declaration is '.. c:function:: time64_t ktime_get_seconds(void)'. > Documentation/core-api/timekeeping.rst:86: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:87. > Declaration is '.. c:function:: time64_t ktime_get_boottime_seconds(void)'. > Documentation/core-api/timekeeping.rst:86: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:87. > Declaration is '.. c:function:: time64_t ktime_get_real_seconds(void)'. > Documentation/core-api/timekeeping.rst:86: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:87. > Declaration is '.. c:function:: time64_t ktime_get_clocktai_seconds(void)'. > Documentation/core-api/timekeeping.rst:86: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:87. > Declaration is '.. c:function:: time64_t ktime_get_raw_seconds(void)'. > Documentation/core-api/timekeeping.rst:102: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:101. > Declaration is '.. c:function:: ktime_t ktime_get_coarse(void)'. > Documentation/core-api/timekeeping.rst:102: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:101. > Declaration is '.. c:function:: ktime_t ktime_get_coarse_boottime(void)'. > Documentation/core-api/timekeeping.rst:102: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:101. > Declaration is '.. c:function:: ktime_t ktime_get_coarse_real(void)'. > Documentation/core-api/timekeeping.rst:102: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:101. > Declaration is '.. c:function:: ktime_t ktime_get_coarse_clocktai(void)'. > Documentation/core-api/timekeeping.rst:107: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:106. > Declaration is '.. c:function:: u64 ktime_get_coarse_ns(void)'. > Documentation/core-api/timekeeping.rst:107: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:106. > Declaration is '.. c:function:: u64 ktime_get_coarse_boottime_ns(void)'. > Documentation/core-api/timekeeping.rst:107: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:106. > Declaration is '.. c:function:: u64 ktime_get_coarse_real_ns(void)'. > Documentation/core-api/timekeeping.rst:107: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:106. > Declaration is '.. c:function:: u64 ktime_get_coarse_clocktai_ns(void)'. > Documentation/core-api/timekeeping.rst:112: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:111. > Declaration is '.. c:function:: void ktime_get_coarse_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:112: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:111. > Declaration is '.. c:function:: void ktime_get_coarse_boottime_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:112: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:111. > Declaration is '.. c:function:: void ktime_get_coarse_real_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:112: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:111. > Declaration is '.. c:function:: void ktime_get_coarse_clocktai_ts64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:132: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:126. > Declaration is '.. c:function:: u64 ktime_get_mono_fast_ns(void)'. > Documentation/core-api/timekeeping.rst:132: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:126. > Declaration is '.. c:function:: u64 ktime_get_raw_fast_ns(void)'. > Documentation/core-api/timekeeping.rst:132: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:126. > Declaration is '.. c:function:: u64 ktime_get_boot_fast_ns(void)'. > Documentation/core-api/timekeeping.rst:132: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:126. > Declaration is '.. c:function:: u64 ktime_get_tai_fast_ns(void)'. > Documentation/core-api/timekeeping.rst:132: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:126. > Declaration is '.. c:function:: u64 ktime_get_real_fast_ns(void)'. > Documentation/core-api/timekeeping.rst:154: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:144. > Declaration is '.. c:function:: void ktime_get_ts(struct timespec*)'. > Documentation/core-api/timekeeping.rst:158: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:148. > Declaration is '.. c:function:: void do_gettimeofday(struct timeval*)'. > Documentation/core-api/timekeeping.rst:158: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:148. > Declaration is '.. c:function:: void getnstimeofday(struct timespec*)'. > Documentation/core-api/timekeeping.rst:158: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:148. > Declaration is '.. c:function:: void getnstimeofday64(struct timespec64*)'. > Documentation/core-api/timekeeping.rst:158: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:148. > Declaration is '.. c:function:: void ktime_get_real_ts(struct timespec*)'. > Documentation/core-api/timekeeping.rst:167: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:157. > Declaration is '.. c:function:: struct timespec current_kernel_time(void)'. > Documentation/core-api/timekeeping.rst:167: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:157. > Declaration is '.. c:function:: struct timespec64 current_kernel_time64(void)'. > Documentation/core-api/timekeeping.rst:167: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:157. > Declaration is '.. c:function:: struct timespec get_monotonic_coarse(void)'. > Documentation/core-api/timekeeping.rst:167: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:157. > Declaration is '.. c:function:: struct timespec64 get_monotonic_coarse64(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec getrawmonotonic(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec64 getrawmonotonic64(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec timekeeping_clocktai(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec64 timekeeping_clocktai64(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec get_monotonic_boottime(void)'. > Documentation/core-api/timekeeping.rst:178: WARNING: Duplicate C declaration, also defined at translations/zh_CN/core-api/timekeeping:166. > Declaration is '.. c:function:: struct timespec64 get_monotonic_boottime64(void)'. > > Presumably introduced by commit > > d24c911bd031 ("docs/zh_CN: core-api: Add timekeeping Chinese translation") > > but I have no idea why :-( > The only other place in Documentation/translations/zh_CN where Sphinx C domain syntax is used is in doc-guide/sphinx.rst, but it is under code block (since the doc is about writing the doc itself). Cc'ing linux-doc folks. -- An old man doll... just what I always wanted! - Clara