I'm writing a driver
for a TI codec attached to the MPC5200B PSC3 codec lines on a Lite5200b.
It's an external module, and I'd like to use Bestcomm with it. I've
already tried a bunch of horrible things to get it to work. I could say
it's close, but by close I mean the FEC still runs, my stuff doesn't.
1. Can the Bestcomm
I/F be used by an external module, or is the module required to be built in
if built-in drivers use Bestcomm? TasksInitAPI (no so bad) and
TasksLoadImage (yeah, bad) aren't really supposed to be called more than once
from what I've read, and the kernel loads them for ethernet and ATA (no disk in
my system if that matters).
2. If it can be used
by an external module, how would I do it? I've tried compiling the source
into my module and replicating the initialization the kernel does in addition to
my own stuff. It's not too bad, though I don't get any interrupts
yet.
The LTIB from Freescale
includes AIC23 and AC97 drivers that use Bestcomm.
I built my kernel with them set as modules, and they
had the same unresolved problems that my driver has on insmod, so I'm
pessimistic. If someone could put me out of my misery one way or another,
I'd appreciate it.
Thanks.
Sal