Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Clockport devices configuration layer [was: Re: USB stack vs bus_dma_tag_t]



On Tue, 19 Oct 2010 15:28:33 +0200
Radek Kujawa <radoslaw.kujawa%c0ff33.net@localhost> wrote:

> > > >ne* at zbus0
> > > >clockport* at ne?        # X-surf clockport
> > > 
> > > I understand what you mean but... ne is a cross-platform driver
> > > for a NE2000 chip and it does know absolutely nothing about
> > > clockports. Why should it know? On a hardware level, clockport on
> > > these cards is attached to Zorro bus directly ;).
> > 
> > No, it is not. It is attached to part of the address space of the 
> > zbus card.
> 
> Yes, I oversimplified, my point was that it is not attached to ne. 

But it is. For Amiga the "ne" device is either AriadneII or X-Surf.
if_ne_zbus.c is just the frontend which attaches one of those Zorro cards,
but it can still use the MI ne2000_attach() backend for them.


> > So you'd rather attach:
> > 
> > xsurf* at zbus0
> > ne* at xsurf?
> > clockport* at xsurf?

Hmm... I don't think so. ;)


> Makes sense for me, but does it mean that I have to introduce
> additional layer for evey zbus card carrying clockport?

No. You just make a single clockport.c file for your interface, which
will attach to all devices which need it.


> I can do it
> this way, but I would have to modify many drivers. And I would not be
> able to test most of these, because I don't have appropriate hardware
> - it seems risky.

And unnecessary. Please don't do that. :)

To use the X-Surf example, you would just add some code at the end of
ne_zbus_attach(), which fills some confargs structure with the
information supplied by this Zorro card (e.g. address of clockport),
then call config_found(your_device, confargs, print) to automatically
attach a clockport device to it.

Then the clockport device can call config_found() for further devices
which attach to this clockport using the address from confargs.

What can be attached where and which files and dependencies exist is
defined in conf/files.amiga.

Please read autoconf(9) for more information about the auto configuration
process.

-- 
Frank Wille


Home | Main Index | Thread Index | Old Index