]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: firewire-motu: use 'version' field of unit directory to identify model
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 17 Mar 2019 06:49:29 +0000 (15:49 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sun, 17 Mar 2019 07:07:21 +0000 (08:07 +0100)
commit0e5e332d07a01afc20e338375ba043040309b8ab
treedcbb26034fbfcc5b96bee099acd7fc63eef4e936
parent90e45f397ab3ae9b6702f0baa015851044ddb70a
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: db88b9ccdef8 ("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>
sound/firewire/motu/motu.c