linux-sg2042/sound/firewire/motu
Takashi Sakamoto 2d012c65a9 ALSA: firewire-motu: use 'version' field of unit directory to identify model
Current ALSA firewire-motu driver uses the value of 'model' field
of unit directory in configuration ROM for modalias for MOTU
FireWire models. However, as long as I checked, Pre8 and
828mk3(Hybrid) have the same value for the field (=0x100800).

unit            | version   | model
--------------- | --------- | ----------
828mkII         | 0x000003  | 0x101800
Traveler        | 0x000009  | 0x107800
Pre8            | 0x00000f  | 0x100800 <-
828mk3(FW)      | 0x000015  | 0x106800
AudioExpress    | 0x000033  | 0x104800
828mk3(Hybrid)  | 0x000035  | 0x100800 <-

When updating firmware for MOTU 8pre FireWire from v1.0.0 to v1.0.3,
I got change of the value from 0x100800 to 0x103800. On the other
hand, the value of 'version' field is fixed to 0x00000f. As a quick
glance, the higher 12 bits of the value of 'version' field represent
firmware version, while the lower 12 bits is unknown.

By induction, the value of 'version' field represents actual model.

This commit changes modalias to match the value of 'version' field,
instead of 'model' field. For degug, long name of added sound card
includes hexadecimal value of 'model' field.

Fixes: 6c5e1ac0e1 ("ALSA: firewire-motu: add support for Motu Traveler")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: <stable@vger.kernel.org> # v4.19+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-03-17 08:07:21 +01:00
..
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
amdtp-motu-trace.h ALSA: firewire-motu: add tracepoints for messages for unique protocol 2017-04-11 08:30:47 +02:00
amdtp-motu.c ALSA: firewire-motu: fix construction of PCM frame for capture direction 2019-02-26 07:11:40 +01:00
motu-hwdep.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
motu-midi.c ALSA: firewire-motu: constify snd_rawmidi_ops structures 2017-08-15 14:05:16 +02:00
motu-pcm.c ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() 2018-07-18 08:24:29 +02:00
motu-proc.c ALSA: firewire: Remove superfluous snd_info_register() calls 2019-02-06 18:11:38 +01:00
motu-protocol-v2.c ALSA: firewire-motu: add support for Motu Traveler 2018-06-19 20:44:54 +02:00
motu-protocol-v3.c ALSA: firewire-motu: add a flag for AES/EBU on XLR interface 2018-06-19 20:44:50 +02:00
motu-stream.c ALSA: firewire: Use common error handling code in snd_motu_stream_start_duplex() 2017-09-12 09:23:26 +02:00
motu-transaction.c ALSA: firewire-motu: enable to read transaction cache via hwdep interface 2017-03-28 12:34:06 +02:00
motu.c ALSA: firewire-motu: use 'version' field of unit directory to identify model 2019-03-17 08:07:21 +01:00
motu.h ALSA: firewire-motu: add support for Motu Traveler 2018-06-19 20:44:54 +02:00