Skip to contentSkip to conversation

doc warnings in *80211

DISCUSSION Jakub Kicinski 3 participants 4 messages Oct 4, 2022

Subsystems (3)
lore
Share & tools
lore

Jakub Kicinski

author maintainer
#0 lore raw

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...

#1 lore raw

Hi,

Quoted 5 lines

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?

Quoted 2 lines

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

author maintainer
#2 lore raw
Quoted 11 lines · On Tue, 04 Oct 2022 09:51:07 +0200 Johannes Berg wrote:
Quoted 5 lines

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()

Quoted 8 lines

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

Quoted 2 lines

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.

#3 lore raw

Hi,

Quoted 17 lines · Jakub Kicinski
Quoted 16 lines · On Tue, 04 Oct 2022 09:51:07 +0200 Johannes Berg wrote:
Quoted 5 lines

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?

Quoted 2 lines

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)'.

Quoted 7 lines
Quoted 3 lines

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