[alsa-devel] [PATCH 4/9] ALSA: oxfw: apply model-specific functionality framework to firewire-speakers
Takashi Sakamoto
o-takashi at sakamocchi.jp
Fri Nov 20 03:28:39 CET 2015
Hi,
On Nov 18 2015 23:17, Takashi Iwai wrote:
> On Sun, 15 Nov 2015 10:26:00 +0100,
> Takashi Sakamoto wrote:
>> - err = spkr_volume_command(oxfw, &oxfw->volume_min,
>> + if (strcmp(oxfw->card->driver, "FireWave") == 0) {
>> + spkr->mixer_channels = 6;
>> + spkr->mute_fb_id = 0x01;
>> + spkr->volume_fb_id = 0x02;
>> + }
>> + if (strcmp(oxfw->card->driver, "FWSpeakers") == 0) {
>> + spkr->mixer_channels = 1;
>> + spkr->mute_fb_id = 0x01;
>> + spkr->volume_fb_id = 0x01;
>> + }
>
> What's the merit of such explicit individual conditional over the
> constant table in the current implementation? The latter is more
> error-prone and simpler in general.
I'm also concerned about it. Yes, the usage of 'struct
ieee1394_device_id.driver_data' is nicer than thse condition statements,
in this point.
My intension of a part of this patch series is to enclose
model-dependent parameters inner model-dependent files, instead of
adding module-public structure. This idea, itself, is not so bad, I think.
There may be better ways to detect models and assign to structure but I
don't still find it.
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list