ALSA: oxfw: code refactoring for existent device entry with specifier_id and version
All of the devices known to be based on OXFW ASICs have the same layout of configuration ROM, in which unit directory includes vendor, model, specifier_id and version immediate values. Especially, the pair of specifier_id and version is fixed to represent AV/C general protocol. This commit refactors device entries to fulfil with these 4 elements. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20210518084557.102681-4-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ffe66bbee1
commit
c127d5cd35
@ -320,36 +320,24 @@ static const struct compat_info lacie_speakers = {
|
||||
.model_name = "FireWire Speakers",
|
||||
};
|
||||
|
||||
#define OXFW_DEV_ENTRY(vendor, model, data) \
|
||||
{ \
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID | \
|
||||
IEEE1394_MATCH_MODEL_ID | \
|
||||
IEEE1394_MATCH_SPECIFIER_ID | \
|
||||
IEEE1394_MATCH_VERSION, \
|
||||
.vendor_id = vendor, \
|
||||
.model_id = model, \
|
||||
.specifier_id = SPECIFIER_1394TA, \
|
||||
.version = VERSION_AVC, \
|
||||
.driver_data = (kernel_ulong_t)data, \
|
||||
}
|
||||
|
||||
static const struct ieee1394_device_id oxfw_id_table[] = {
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID |
|
||||
IEEE1394_MATCH_SPECIFIER_ID |
|
||||
IEEE1394_MATCH_VERSION,
|
||||
.vendor_id = VENDOR_GRIFFIN,
|
||||
.model_id = 0x00f970,
|
||||
.specifier_id = SPECIFIER_1394TA,
|
||||
.version = VERSION_AVC,
|
||||
.driver_data = (kernel_ulong_t)&griffin_firewave,
|
||||
},
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID |
|
||||
IEEE1394_MATCH_SPECIFIER_ID |
|
||||
IEEE1394_MATCH_VERSION,
|
||||
.vendor_id = VENDOR_LACIE,
|
||||
.model_id = 0x00f970,
|
||||
.specifier_id = SPECIFIER_1394TA,
|
||||
.version = VERSION_AVC,
|
||||
.driver_data = (kernel_ulong_t)&lacie_speakers,
|
||||
},
|
||||
/* Behringer,F-Control Audio 202 */
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID,
|
||||
.vendor_id = VENDOR_BEHRINGER,
|
||||
.model_id = 0x00fc22,
|
||||
},
|
||||
OXFW_DEV_ENTRY(VENDOR_GRIFFIN, 0x00f970, &griffin_firewave),
|
||||
OXFW_DEV_ENTRY(VENDOR_LACIE, 0x00f970, &lacie_speakers),
|
||||
// Behringer,F-Control Audio 202.
|
||||
OXFW_DEV_ENTRY(VENDOR_BEHRINGER, 0x00fc22, NULL),
|
||||
/*
|
||||
* Any Mackie(Loud) models (name string/model id):
|
||||
* Onyx-i series (former models): 0x081216
|
||||
@ -367,34 +355,14 @@ static const struct ieee1394_device_id oxfw_id_table[] = {
|
||||
.specifier_id = SPECIFIER_1394TA,
|
||||
.version = VERSION_AVC,
|
||||
},
|
||||
/* TASCAM, FireOne */
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID,
|
||||
.vendor_id = VENDOR_TASCAM,
|
||||
.model_id = 0x800007,
|
||||
},
|
||||
/* Stanton, Stanton Controllers & Systems 1 Mixer (SCS.1m) */
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID,
|
||||
.vendor_id = OUI_STANTON,
|
||||
.model_id = 0x001000,
|
||||
},
|
||||
/* Stanton, Stanton Controllers & Systems 1 Deck (SCS.1d) */
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID,
|
||||
.vendor_id = OUI_STANTON,
|
||||
.model_id = 0x002000,
|
||||
},
|
||||
// APOGEE, duet FireWire
|
||||
{
|
||||
.match_flags = IEEE1394_MATCH_VENDOR_ID |
|
||||
IEEE1394_MATCH_MODEL_ID,
|
||||
.vendor_id = OUI_APOGEE,
|
||||
.model_id = 0x01dddd,
|
||||
},
|
||||
// TASCAM, FireOne.
|
||||
OXFW_DEV_ENTRY(VENDOR_TASCAM, 0x800007, NULL),
|
||||
// Stanton, Stanton Controllers & Systems 1 Mixer (SCS.1m).
|
||||
OXFW_DEV_ENTRY(OUI_STANTON, 0x001000, NULL),
|
||||
// Stanton, Stanton Controllers & Systems 1 Deck (SCS.1d).
|
||||
OXFW_DEV_ENTRY(OUI_STANTON, 0x002000, NULL),
|
||||
// APOGEE, duet FireWire.
|
||||
OXFW_DEV_ENTRY(OUI_APOGEE, 0x01dddd, NULL),
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(ieee1394, oxfw_id_table);
|
||||
|
Loading…
Reference in New Issue
Block a user