Re: IEEE80211_DEBUG_REFCNT breaks drivers

From: Bjoern A. Zeeb <bz_at_freebsd.org>
Date: Mon, 28 Nov 2022 17:20:38 UTC
On Mon, 28 Nov 2022, Adrian Chadd wrote:

> On Mon, 28 Nov 2022 at 08:15, Bjoern A. Zeeb <bz@freebsd.org> wrote:
>
>> Hi,
>>
>> adding IEEE80211_DEBUG_REFCNT to a kernel config breaks various wireless
>> driver builds as they do not include opt_wlan.h and thus get the other
>> incarnation of various functions (with different argument count) from
>> ieee80211_node.h .
>>
>
> Ugh. :-) Yeah, that whole binary ABI change thing sucks.
>
> Yeah, drivers should be including opt_wlan.h. I had a chat with warner
> about this years ago and IIRC the thought was that we shouldn't have
> /binary ABI/ changes because of opt_XXX.h flags that aren't global.. but I
> don't know how many people care about things at that level now?

The alternative would be to:

(a) not rename the functions (I'd actually like that)
and
(b) to always pass __func__ and __LINE__ in as arguments but mark them
__unused in the non-IEEE80211_DEBUG_REFCNT case.

That could also solve this particular problem.  Any take on that road?

-- 
Bjoern A. Zeeb                                                     r15:7