ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data
authorGeoffrey D. Bennett <g@b4.vu>
Sun, 10 Nov 2019 13:43:56 +0000 (00:13 +1030)
committerTakashi Iwai <tiwai@suse.de>
Fri, 22 Nov 2019 07:41:03 +0000 (08:41 +0100)
The s6i6_gen2_info.ports[] array had the Mixer and PCM port type
entries in the wrong place. Use designators to explicitly specify the
array elements being set.

Fixes: 9e4d5c1be21f ("ALSA: usb-audio: Scarlett Gen 2 mixer interface")
Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Tested-by: Alex Fellows <alex.fellows@gmail.com>
Tested-by: Markus Schroetter <project.m.schroetter@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191110134356.GA31589@b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_scarlett_gen2.c

index 7d460b1f17351202354391b9be85f67e03b5a7ae..94b903d95afaa8300d30743c199837c8abd040b4 100644 (file)
@@ -261,34 +261,34 @@ static const struct scarlett2_device_info s6i6_gen2_info = {
        },
 
        .ports = {
-               {
+               [SCARLETT2_PORT_TYPE_NONE] = {
                        .id = 0x000,
                        .num = { 1, 0, 8, 8, 8 },
                        .src_descr = "Off",
                        .src_num_offset = 0,
                },
-               {
+               [SCARLETT2_PORT_TYPE_ANALOGUE] = {
                        .id = 0x080,
                        .num = { 4, 4, 4, 4, 4 },
                        .src_descr = "Analogue %d",
                        .src_num_offset = 1,
                        .dst_descr = "Analogue Output %02d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_SPDIF] = {
                        .id = 0x180,
                        .num = { 2, 2, 2, 2, 2 },
                        .src_descr = "S/PDIF %d",
                        .src_num_offset = 1,
                        .dst_descr = "S/PDIF Output %d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_MIX] = {
                        .id = 0x300,
                        .num = { 10, 18, 18, 18, 18 },
                        .src_descr = "Mix %c",
                        .src_num_offset = 65,
                        .dst_descr = "Mixer Input %02d Capture"
                },
-               {
+               [SCARLETT2_PORT_TYPE_PCM] = {
                        .id = 0x600,
                        .num = { 6, 6, 6, 6, 6 },
                        .src_descr = "PCM %d",
@@ -317,44 +317,44 @@ static const struct scarlett2_device_info s18i8_gen2_info = {
        },
 
        .ports = {
-               {
+               [SCARLETT2_PORT_TYPE_NONE] = {
                        .id = 0x000,
                        .num = { 1, 0, 8, 8, 4 },
                        .src_descr = "Off",
                        .src_num_offset = 0,
                },
-               {
+               [SCARLETT2_PORT_TYPE_ANALOGUE] = {
                        .id = 0x080,
                        .num = { 8, 6, 6, 6, 6 },
                        .src_descr = "Analogue %d",
                        .src_num_offset = 1,
                        .dst_descr = "Analogue Output %02d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_SPDIF] = {
+                       .id = 0x180,
                        /* S/PDIF outputs aren't available at 192KHz
                         * but are included in the USB mux I/O
                         * assignment message anyway
                         */
-                       .id = 0x180,
                        .num = { 2, 2, 2, 2, 2 },
                        .src_descr = "S/PDIF %d",
                        .src_num_offset = 1,
                        .dst_descr = "S/PDIF Output %d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_ADAT] = {
                        .id = 0x200,
                        .num = { 8, 0, 0, 0, 0 },
                        .src_descr = "ADAT %d",
                        .src_num_offset = 1,
                },
-               {
+               [SCARLETT2_PORT_TYPE_MIX] = {
                        .id = 0x300,
                        .num = { 10, 18, 18, 18, 18 },
                        .src_descr = "Mix %c",
                        .src_num_offset = 65,
                        .dst_descr = "Mixer Input %02d Capture"
                },
-               {
+               [SCARLETT2_PORT_TYPE_PCM] = {
                        .id = 0x600,
                        .num = { 20, 18, 18, 14, 10 },
                        .src_descr = "PCM %d",
@@ -387,20 +387,20 @@ static const struct scarlett2_device_info s18i20_gen2_info = {
        },
 
        .ports = {
-               {
+               [SCARLETT2_PORT_TYPE_NONE] = {
                        .id = 0x000,
                        .num = { 1, 0, 8, 8, 6 },
                        .src_descr = "Off",
                        .src_num_offset = 0,
                },
-               {
+               [SCARLETT2_PORT_TYPE_ANALOGUE] = {
                        .id = 0x080,
                        .num = { 8, 10, 10, 10, 10 },
                        .src_descr = "Analogue %d",
                        .src_num_offset = 1,
                        .dst_descr = "Analogue Output %02d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_SPDIF] = {
                        /* S/PDIF outputs aren't available at 192KHz
                         * but are included in the USB mux I/O
                         * assignment message anyway
@@ -411,21 +411,21 @@ static const struct scarlett2_device_info s18i20_gen2_info = {
                        .src_num_offset = 1,
                        .dst_descr = "S/PDIF Output %d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_ADAT] = {
                        .id = 0x200,
                        .num = { 8, 8, 8, 4, 0 },
                        .src_descr = "ADAT %d",
                        .src_num_offset = 1,
                        .dst_descr = "ADAT Output %d Playback"
                },
-               {
+               [SCARLETT2_PORT_TYPE_MIX] = {
                        .id = 0x300,
                        .num = { 10, 18, 18, 18, 18 },
                        .src_descr = "Mix %c",
                        .src_num_offset = 65,
                        .dst_descr = "Mixer Input %02d Capture"
                },
-               {
+               [SCARLETT2_PORT_TYPE_PCM] = {
                        .id = 0x600,
                        .num = { 20, 18, 18, 14, 10 },
                        .src_descr = "PCM %d",