Re: IEEE80211_DEBUG_REFCNT breaks drivers

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Mon, 28 Nov 2022 18:20:21 UTC
On Mon, 28 Nov 2022 at 09:20, Bjoern A. Zeeb <bz@freebsd.org> wrote:

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

Yeah I like that.



-adrian