How to get a device_t

Bernd Walter ticso at cicely12.cicely.de
Wed Aug 6 03:40:25 PDT 2003


On Wed, Aug 06, 2003 at 12:18:28PM +0200, Poul-Henning Kamp wrote:
> 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.

I could reread the datasheet, but don't give it much hope if you
hadn't find anything usefull.

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

What needs to be in *_probe() to conditionalize on elan existence?

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



More information about the freebsd-hackers mailing list