How to get a device_t

Bernd Walter ticso at cicely12.cicely.de
Fri Aug 8 12:09:29 PDT 2003


On Fri, Aug 08, 2003 at 02:27:30PM -0400, John Baldwin wrote:
> 
> On 08-Aug-2003 Poul-Henning Kamp wrote:
> > In message <20030808083617.E7321 at freebsd1.cimlogic.com.au>, John Birrell writes
> >:
> > 
> >>I'm not convinced that any hacking is required other than passing the
> >>device_t parent to nexus_pcib_is_host_bridge (in STABLE) as Bernd says.
> >>I traced the boot on my system and the MMCR is initialised early (when
> >>the Timecounter "ELAN" output occurs). Immediately following that
> >>initialisation, 'pcib' is added as a child of 'nexus'. I don't see why
> >>'mmcr' couldn't be added as a child of 'nexus' too. At this point,
> >>nexus isn't walking through it's children so there shouldn't be a problem.
> >>Then the ELAN specific devices (like GPIO and flash) can attach to 'mmcr'.
> >>
> >>This seems straight forward. Maybe I'm missing something. 8-)
> > 
> > That's my take too.  And MMCR belongs on nexus not on legacy from an
> > architectural point of view.
> 
> Well, that would be a major pain on current since nexus is already
> finished attaching many of its drivers by the time it gets to here.
> Also, if you use ACPI and if ACPI exists, then this function _won't_
> _ever_ _be_ _called_.  If you use a hostb PCI driver, then it will
> work both for ACPI and legacy.

I agree with this point and if I understood correct this is what
John Birrel already had done.

However - I would still like to know why
device_add_child(nexus, "elanbb", -1);
results in an elanbb instance numer 1 connected to pci0.
And why I don't get any iicbb childs.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso at bwct.de                                  info at bwct.de



More information about the freebsd-hackers mailing list