Re: git: 0f7b9777f8f3 - main - rtw88: split driver up into a core and pci part

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 14 Jun 2022 17:42:17 UTC
On Tue, Jun 14, 2022 at 11:12 AM Bjoern A. Zeeb <bz@freebsd.org> wrote:

> On Tue, 14 Jun 2022, Warner Losh wrote:
>
> [..]
> >> parts with different user interfaces.  However, if you are going to have
> >> the
> >> 'foo0' interface, we assume that it loaded by 'if_foo.ko'.  ifconfig(8)
> >> even has this knowledge baked in.
> >>
> >
> > Yea, I wasn't sure how to respond to what seemed like a non sequitur
> here,
> > but I like your reply...
> >
> > It points out a large reason we did this: ifconfig ed0 loads if_ed
> > automatically and if we had if_ed_isa.ko, if_ed_eisa.ho, etc then this
> > would break.
>
> That was certainly true back then.
>
> But that is basically a bandaid for cloned interfaces these days?
>

No. It isn't.


> All others on a real bus having "PNP" information devmatch will have loaded
> before ifconfig is run the first time these days?   "The world is changing"
>

If the world is changing, we should have a plan for the change. Not just
start to do random things that wind up breaking other things when people
with a different use-case follow along. If the world has changed, we should
remove the automatic loading from ifconfig, but that would break many other
use cases that aren't real hardware. But we don't have to break things, and
"the world is changing" isn't quite the right argument to use here.

But really, a big part of the problem is that we've built so much on top of
config(8) and that should be the problem we're solving. It could
automatically
create a if_foo_pci.ko, if_foo_usb.ko and a if_foo.ko that depends on them
both
so that if you automatically load the right thing, it all works, but if you
rely on
something else to load it, that will still work, but less optimally than if
it came
in via PNP data should that functionality be disabled for some reason.

Warner