Date: Fri, 30 Aug 2002 20:32:28 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: jhb@FreeBSD.ORG Cc: new-bus@FreeBSD.ORG Subject: Re: bus_generic_probe() is wrong I think Message-ID: <20020830.203228.35798916.imp@bsdimp.com> In-Reply-To: <XFMail.20020830133542.jhb@FreeBSD.org> References: <XFMail.20020830133542.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <XFMail.20020830133542.jhb@FreeBSD.org>
John Baldwin <jhb@FreeBSD.ORG> writes:
: If we are going to support having multiple driver's for a given device
: which is a bus (like we do now for PCI busses and like I am doing for
: this concept of a system buson i386) then I think that bus devices do
: not need to go identify child devices until after they have won the
: probe and are being attached. Thus, I'm ending up calling
: bus_generic_probe() in my attach routines instead of my probe routines.
: Does this make sense or am I missing something? I at least have to do
: this in the system bus case here for the same reasons that when I added
: another PCI bus driver, I had to change the PCI drivers to add children
: devices (equivalent of doing an identify) during attach() time and not
: during probe() time.
A more fundamental question is why bus_generic_probe() does the child
attach/probe? In the probe routine, there's no guarantee that the
bus will actually attach at some later point. Shouldn't that be in a
bus_generic_attach() routine? The probe should just say 'is this bus
here' and the attach should make it possible to then probe the
children after a successful attach.
Warner
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-new-bus" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020830.203228.35798916.imp>
