AK4531

DLL name
Pass "ak4531" as the mixer_dll argument to ado_mixer_dll() function call.
Header file
<mixer/ak4531_dll.h>
Parameter structure
This structure holds pointers to the callback functions that you need to provide for the mixer DLL to call:
typedef
struct  ado_mixer_dll_params_ak4531
{
  HW_CONTEXT_T  *hw_context;
  void          (*write) (HW_CONTEXT_T *hw_context,
                          uint16_t reg, uint16_t val);
  void          (*destroy) (HW_CONTEXT_T *hw_context);
} ado_mixer_dll_params_ak4531_t;

The members include:

hw_context
A pointer to a structure that you can use for any context-sensitive data that your driver needs. It's used only as an argument for the function calls.
write()
Write the given value into the given ak4531 register.
destroy()
The upper layer of the driver calls this function just before the DLL terminates.

Pass a pointer to a ado_mixer_dll_params_ak4531_t structure as the params argument to ado_mixer_dll().

Supported device controls
None; pass a NULL pointer as the callbacks argument to ado_mixer_dll().
Reference
http://www.akm.com