Date: Wed, 6 Aug 2003 15:34:01 -0400 From: Eric Jacobs <eaja@erols.com> To: ticso@cicely.de Cc: freebsd-hackers@freebsd.org Subject: Re: How to get a device_t Message-ID: <20030806153401.79a57974.eaja@erols.com> In-Reply-To: <20030806110013.GE32228@cicely12.cicely.de> References: <20030806104001.GD32228@cicely12.cicely.de> <40470.1060166743@critter.freebsd.dk> <20030806110013.GE32228@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 6 Aug 2003 13:00:13 +0200
Bernd Walter <ticso@cicely12.cicely.de> wrote:
>
> Back to the original question:
> How do I get the device_t from nexus?
> Is there a get_nexus() function somewhere?
You can do it this way:
devclass_t nexusdc = devclass_find("nexus");
device_t nexus = devclass_get_device(nexusdc, 0);
It is in fact in the code path as "parent" in nexus_pcib_identify,
but not in the special PCI bridge identification function. If you
call BUS_ADD_CHILD at that time, you don't need to probe or attach
your device; it will be automatically probed and attached later and
you can whatever logic you want in your probe and attach routines.
Eric
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030806153401.79a57974.eaja>
