
The driver is divided into two parts. The generic (system indipendent) part and the ALSA interface. The files that belong to the generic part
are Echo* Os* MixerXface.h .
Echo_main.c, Echo_Dsp.c and Echo_transport.c are common for all cards. Card-specific code is inside Echo-<card>.c and Echo-<card>Dsp.c . The following parts must be linked together to have a working driver: Echo_main.c, Echo_Dsp.c, Echo_transport.c, Echo-<card>.c, Echo-<card>Dsp.c, Os Support.c and the higher lever system-dependent part.

How to use the generic code.

Rewrite the files OsSupport* to match the system requirements. Then

eg=NewEchoGals(chip->pci->device, chip->pci->subsystem_device);
Creates a new EcgoGals structure. It returns 0 on failure.

eg->ossprivate_data=something;
OsSupport functions may need to access additional system-dependent information.

eg->m_pvSharedMemory=(u32 *)virtual_address;
Write here the virtual address of the card's registers.

err=InitHw(chip->eg);
Initialized the hardware. Returns 0 on success.

DelEchoGals(eg);
Turns off the DSP and frees the memory.


