How to get a device_t

John Baldwin jhb at FreeBSD.org
Fri Aug 8 12:49:45 PDT 2003


On 08-Aug-2003 Bernd Walter wrote:
> 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.

No, he is still working in the nexus/pcib driver's identify routine,
not in a separate 'hostb' PCI driver.

> 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.

I would have to see your code changes in order to try to tell you that.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-hackers mailing list