Subject: Re: issues with com and non-PCI platforms.... a proposal
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Steve Woodford <scw@netbsd.org>
List: tech-kern
Date: 03/08/2006 10:47:44
On Tuesday 07 March 2006 03:13, Garrett D'Amore wrote:
> 2) use a separate bus space. I don't know of any existing
> examples outside of my AR5212 com driver. In this case I had to
> implement a pretty hefty amount of bus space logic *in com_arbus.c".
> This seems ugly and unwieldy.
It's also one of the only ways to go.
> #define GETREG(x) bus_space_read_1(bst, bsh, sc_regoffs[x])
If the underlying bus does not support byte-wise read/writes, this'll
still have to bounce through a bus_space(9) shim layer. I've worked with
hardware which supports 32-bit access only to those registers, for
example.
Perhaps a compromise is called for. Add some accessor function pointers
to com_softc, to be filled in by the bus-specific code.
Cheers, Steve