How to get a device_t

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Aug 6 03:18:32 PDT 2003


In message <20030806101148.GC32228 at cicely12.cicely.de>, Bernd Walter writes:
>I need to add I2C support for a Elan520 based soekris system.
>The system has the required GPIO pins and there is the iicbb driver
>to handle generic bitbang code - just needing a simple layer driver to
>enable, disable and read pins.
>But unlike normal isa/pci hardware probing the existence of the GPIO
>line is a bit difficult.
>The current elan-mmcr.c gets started from i386/pci/pci_bus.c at
>host bridge probing, because that's seems to be the only place to
>safely detect this special CPU.

That's my doing, based on my reading of the datasheet from AMD.

It would be better if we could detect the Elan in the normal CPU
identification stuff, but I couldn't seem to find a reliable way.

>>From the logicaly standpoint the extensions had to be attached to
>nexus, but nowhere is the current code path there is a handle for
>nexus or any other device_t.

In fact what you may want to do is hang the entire MMCR off the nexus
as a bus, and hang the various drivers off that bus.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-hackers mailing list