bebob: Prepare for device specific operations

This commit is for some devices with its own operations or quirks.

Many functionality should be implemented in user land. Then this commit adds
functionality related to stream such as sampling frequency or clock source. And
some device need cue to load firmware. This commit adds this mechanism. For
help to debug, this commit adds the functionality to get metering information
if it's available.

To help these functionalities, this commit adds some AV/C commands defined in
'AV/C Audio Subunit Specification (1394TA).
bebob: Add support for Yamaha GO series

This commit allows this driver to support all of models which Yamaha produced
with DM1000/BeBoB. They are:
 - GO44
 - GO46

This commit adds Yamaha specific operations. To get source of clock, AV/C Audio
Subunit command is used.
bebob: Add support for Terratec PHASE, EWS series and Aureon

This commit allows this driver to support all of models which Terratec produced
with DM1000/BeBoB. They are:
 - PHASE 24 FW
 - PHASE X24 FW
 - PHASE 88 Rack FW
 - EWS MIC2
 - EWS MIC4
 - Aureon 7.1 Firewire

For Phase series, this commit adds Terratec specific operations to changing
source of clock. AV/C Audio Subunit command is used for this purpose.

For EWS series and Aureon, this module uses normal operations.
bebob: Add support for Focusrite Saffire/SaffirePro series

This commit allows this driver to support all of models which Focusrite
produces with DM1000/BeBoB. They are:
 - Saffire
 - Saffire LE
 - SaffirePro 10 I/O
 - SaffirePro 26 I/O

This commit adds Focusrite specific operations:.
1. Get source of clock
2. Get/Set sampling frequency
3. Get metering information

The driver uses these functionalities to read/write specific address by async
transaction.
bebob: Add support for M-Audio Firewire series which uses usual firmware

This commit allows this driver to support some models which M-Audio produces
with DM1000/BeBoB with usual firmware. They are:
 - Firewire 410
 - Firewire AudioPhile
 - Firewire Solo
 - Ozonic
 - NRV10
 - FirewireLightBridge

This commit adds M-Audio specific operations to get metering information. This
information also includes status of clock synchronization.
bebob: Add support for M-Audio Firewire series which uses special firmware

This commit allows this driver to support some models which M-Audio produces
with DM1000/BeBoB but its firmware is special. They are:
 - Firewire 1814
 - ProjectMix I/O

Firewire1814 and ProjectMix I/O has BeBoB firmware but it's heavily customized.
The usual operations given by BeBoB aren't be applied for them. For this reason,
this commit add some model specific members in 'struct snd_bebob' and model
specific functions and control interface.

This commit adds M-Audio specific operations, quirks. They are categorized to
three parts.
bebob: add firmware loader for M-Audio Firewire series

 - Firewire Audiophile
 - Firewire 410
 - Firewire 1814
 - ProjectMix I/O