2022-10-04 02:16:37

by Jakub Kicinski

[permalink] [raw]
Subject: doc warnings in *80211

Hi,

doing basic sanity checks before submitting the net-next PR I spotted
that we have these warnings when building documentation on net-next:

Documentation/driver-api/80211/cfg80211:48: ./include/net/cfg80211.h:6960: WARNING: Duplicate C declaration, also defined at driver-api/80211/cfg80211:6924.
Declaration is '.. c:function:: void cfg80211_rx_assoc_resp (struct net_device *dev, struct cfg80211_rx_assoc_resp *data)'.
Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5046: WARNING: Duplicate C declaration, also defined at driver-api/80211/mac80211:1065.
Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'.


The test is highly unscientific (checkout net, make htmldocs, checkout
net-next, make htmldocs) so IDK if these are new...


2022-10-04 08:01:14

by Johannes Berg

[permalink] [raw]
Subject: Re: doc warnings in *80211

Hi,

> doing basic sanity checks before submitting the net-next PR I spotted
> that we have these warnings when building documentation on net-next:
>
> Documentation/driver-api/80211/cfg80211:48: ./include/net/cfg80211.h:6960: WARNING: Duplicate C declaration, also defined at driver-api/80211/cfg80211:6924.
> Declaration is '.. c:function:: void cfg80211_rx_assoc_resp (struct net_device *dev, struct cfg80211_rx_assoc_resp *data)'.

Hmm. That's interesting. I guess it cannot distinguish between the type
of identifier?

struct cfg80211_rx_assoc_resp vs. cfg80211_rx_assoc_resp()

Not sure what do about it - rename one of them?

> Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5046: WARNING: Duplicate C declaration, also defined at driver-api/80211/mac80211:1065.
> Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'.

Same here actually!

I don't think either of these is new.

johannes


2022-10-04 14:37:36

by Jakub Kicinski

[permalink] [raw]
Subject: Re: doc warnings in *80211

On Tue, 04 Oct 2022 09:51:07 +0200 Johannes Berg wrote:
> > doing basic sanity checks before submitting the net-next PR I spotted
> > that we have these warnings when building documentation on net-next:
> >
> > Documentation/driver-api/80211/cfg80211:48: ./include/net/cfg80211.h:6960: WARNING: Duplicate C declaration, also defined at driver-api/80211/cfg80211:6924.
> > Declaration is '.. c:function:: void cfg80211_rx_assoc_resp (struct net_device *dev, struct cfg80211_rx_assoc_resp *data)'.
>
> Hmm. That's interesting. I guess it cannot distinguish between the type
> of identifier?
>
> struct cfg80211_rx_assoc_resp vs. cfg80211_rx_assoc_resp()
>
> Not sure what do about it - rename one of them?
>
> > Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5046: WARNING: Duplicate C declaration, also defined at driver-api/80211/mac80211:1065.
> > Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'.
>
> Same here actually!
>
> I don't think either of these is new.

Thanks for checking!

Adding linux-doc, but I presume Jon & co are aware if this is not new.

2022-10-04 22:33:54

by Akira Yokosawa

[permalink] [raw]
Subject: Re: doc warnings in *80211

Hi,

On Date: Tue, 4 Oct 2022 07:26:46 -0700, Jakub Kicinski wrote:
> On Tue, 04 Oct 2022 09:51:07 +0200 Johannes Berg wrote:
>> > doing basic sanity checks before submitting the net-next PR I spotted
>> > that we have these warnings when building documentation on net-next:
>> >
>> > Documentation/driver-api/80211/cfg80211:48: ./include/net/cfg80211.h:6960: WARNING: Duplicate C declaration, also defined at driver-api/80211/cfg80211:6924.
>> > Declaration is '.. c:function:: void cfg80211_rx_assoc_resp (struct net_device *dev, struct cfg80211_rx_assoc_resp *data)'.
>>
>> Hmm. That's interesting. I guess it cannot distinguish between the type
>> of identifier?
>>
>> struct cfg80211_rx_assoc_resp vs. cfg80211_rx_assoc_resp()
>>
>> Not sure what do about it - rename one of them?
>>
>> > Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5046: WARNING: Duplicate C declaration, also defined at driver-api/80211/mac80211:1065.
>> > Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'.
>>
>> Same here actually!
>>
>> I don't think either of these is new.
>
> Thanks for checking!
>
> Adding linux-doc, but I presume Jon & co are aware if this is not new.

Yes, this is a known issue of Sphinx >=3.0, which prevents us to
bump required version of Sphinx from 2.4.x.

Link to a relevant mail from Mauro in the lore archive:

https://lore.kernel.org/r/[email protected]/

Note that the same warnings can be seen when a kernel-doc comment is
included from multiple .rst files under Documentation/ by accident.

Actually, Sphinx < 3.0 can not detect such true duplicates.

As far as I see, this issue still remains in the latest version of
Sphinx (5.2.3).

HTH,
Akira