Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2022 11:42:17 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        "Bjoern A. Zeeb" <bz@freebsd.org>
Cc:        John Baldwin <jhb@freebsd.org>, src-committers <src-committers@freebsd.org>,  "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>, dev-commits-src-main@freebsd.org
Subject:   Re: git: 0f7b9777f8f3 - main - rtw88: split driver up into a core and pci part
Message-ID:  <CANCZdfpeN4%2BCi61JEzSDQgjy8c_0qgdhbSOYwyfFPRmA454_Jw@mail.gmail.com>
In-Reply-To: <alpine.BSF.2.00.2206141706540.68830@ai.fobar.qr>
References:  <202206121843.25CIhcLr014633@gitrepo.freebsd.org> <d514e0de-9b30-b5c8-2e2f-7e93a36747f7@FreeBSD.org> <CANCZdfoqnsJKLtqrwpY35EMGKoQvEYnn158HQNBHEg1=X%2BKZZA@mail.gmail.com> <alpine.BSF.2.00.2206131640300.68830@ai.fobar.qr> <0e2172f8-21c1-afb1-9d2b-03ef14a4edf5@FreeBSD.org> <CANCZdfqNah_B-PaqDPPEG4w89ooUtcbTKD1gbcHnkHBC0hN0SA@mail.gmail.com> <alpine.BSF.2.00.2206141706540.68830@ai.fobar.qr>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000a6fdb605e16bed27
Content-Type: text/plain; charset="UTF-8"

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

--000000000000a6fdb605e16bed27
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Tue, Jun 14, 2022 at 11:12 AM Bjoe=
rn A. Zeeb &lt;<a href=3D"mailto:bz@freebsd.org">bz@freebsd.org</a>&gt; wro=
te:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px =
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, 14 J=
un 2022, Warner Losh wrote:<br>
<br>
[..]<br>
&gt;&gt; parts with different user interfaces.=C2=A0 However, if you are go=
ing to have<br>
&gt;&gt; the<br>
&gt;&gt; &#39;foo0&#39; interface, we assume that it loaded by &#39;if_foo.=
ko&#39;.=C2=A0 ifconfig(8)<br>
&gt;&gt; even has this knowledge baked in.<br>
&gt;&gt;<br>
&gt;<br>
&gt; Yea, I wasn&#39;t sure how to respond to what seemed like a non sequit=
ur here,<br>
&gt; but I like your reply...<br>
&gt;<br>
&gt; It points out a large reason we did this: ifconfig ed0 loads if_ed<br>
&gt; automatically and if we had if_ed_isa.ko, if_ed_eisa.ho, etc then this=
<br>
&gt; would break.<br>
<br>
That was certainly true back then.<br>
<br>
But that is basically a bandaid for cloned interfaces these days?<br></bloc=
kquote><div><br></div><div>No. It isn&#39;t.</div><div>=C2=A0</div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">
All others on a real bus having &quot;PNP&quot; information devmatch will h=
ave loaded<br>
before ifconfig is run the first time these days?=C2=A0 =C2=A0&quot;The wor=
ld is changing&quot;<br></blockquote><div><br></div><div>If the world is ch=
anging, we should have a plan for the change. Not just</div><div>start to d=
o random things that wind up breaking other things when people</div><div>wi=
th a different use-case follow along. If the world has changed, we should</=
div><div>remove the automatic loading from ifconfig, but that would break m=
any other</div><div>use cases that aren&#39;t real hardware. But we don&#39=
;t have to break things, and</div><div>&quot;the world is changing&quot; is=
n&#39;t quite the right argument to use here.</div><div><br></div><div>But =
really, a big part of the problem is that we&#39;ve built so much on top of=
</div><div>config(8) and that should be the problem we&#39;re solving. It c=
ould automatically</div><div>create a if_foo_pci.ko, if_foo_usb.ko and a if=
_foo.ko that depends on them both</div><div>so that if you automatically lo=
ad the right thing, it all works, but if you rely on</div><div>something el=
se to load=C2=A0it, that will still work, but less optimally than if it cam=
e</div><div>in via PNP data should that functionality be disabled for some =
reason.</div><div><br></div><div>Warner</div></div></div>

--000000000000a6fdb605e16bed27--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpeN4%2BCi61JEzSDQgjy8c_0qgdhbSOYwyfFPRmA454_Jw>