Loading sound/core/control.c +5 −0 Original line number Diff line number Diff line Loading @@ -1207,6 +1207,11 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file, struct user_element *ue; int err; if (!*info->id.name) return -EINVAL; if (strnlen(info->id.name, sizeof(info->id.name)) >= sizeof(info->id.name)) return -EINVAL; /* Delete a control to replace them if needed. */ if (replace) { info->id.numid = 0; Loading sound/firewire/dice/dice-interface.h +9 −9 Original line number Diff line number Diff line Loading @@ -298,24 +298,24 @@ */ #define RX_ISOCHRONOUS 0x008 /* * Index of first quadlet to be interpreted; read/write. If > 0, that many * quadlets at the beginning of each data block will be ignored, and all the * audio and MIDI quadlets will follow. */ #define RX_SEQ_START 0x00c /* * The number of audio channels; read-only. There will be one quadlet per * channel. */ #define RX_NUMBER_AUDIO 0x00c #define RX_NUMBER_AUDIO 0x010 /* * The number of MIDI ports, 0-8; read-only. If > 0, there will be one * additional quadlet in each data block, following the audio quadlets. */ #define RX_NUMBER_MIDI 0x010 /* * Index of first quadlet to be interpreted; read/write. If > 0, that many * quadlets at the beginning of each data block will be ignored, and all the * audio and MIDI quadlets will follow. */ #define RX_SEQ_START 0x014 #define RX_NUMBER_MIDI 0x014 /* * Names of all audio channels; read-only. Quadlets are byte-swapped. Names Loading sound/firewire/dice/dice-proc.c +2 −2 Original line number Diff line number Diff line Loading @@ -99,9 +99,9 @@ static void dice_proc_read(struct snd_info_entry *entry, } tx; struct { u32 iso; u32 seq_start; u32 number_audio; u32 number_midi; u32 seq_start; char names[RX_NAMES_SIZE]; u32 ac3_caps; u32 ac3_enable; Loading Loading @@ -204,10 +204,10 @@ static void dice_proc_read(struct snd_info_entry *entry, break; snd_iprintf(buffer, "rx %u:\n", stream); snd_iprintf(buffer, " iso channel: %d\n", (int)buf.rx.iso); snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start); snd_iprintf(buffer, " audio channels: %u\n", buf.rx.number_audio); snd_iprintf(buffer, " midi ports: %u\n", buf.rx.number_midi); snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start); if (quadlets >= 68) { dice_proc_fixup_string(buf.rx.names, RX_NAMES_SIZE); snd_iprintf(buffer, " names: %s\n", buf.rx.names); Loading sound/firewire/iso-resources.c +1 −2 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit) { r->channels_mask = ~0uLL; r->unit = fw_unit_get(unit); r->unit = unit; mutex_init(&r->mutex); r->allocated = false; Loading @@ -42,7 +42,6 @@ void fw_iso_resources_destroy(struct fw_iso_resources *r) { WARN_ON(r->allocated); mutex_destroy(&r->mutex); fw_unit_put(r->unit); } EXPORT_SYMBOL(fw_iso_resources_destroy); Loading sound/pci/hda/patch_conexant.c +11 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,7 @@ enum { CXT_PINCFG_LENOVO_TP410, CXT_PINCFG_LEMOTE_A1004, CXT_PINCFG_LEMOTE_A1205, CXT_PINCFG_COMPAQ_CQ60, CXT_FIXUP_STEREO_DMIC, CXT_FIXUP_INC_MIC_BOOST, CXT_FIXUP_HEADPHONE_MIC_PIN, Loading Loading @@ -660,6 +661,15 @@ static const struct hda_fixup cxt_fixups[] = { .type = HDA_FIXUP_PINS, .v.pins = cxt_pincfg_lemote, }, [CXT_PINCFG_COMPAQ_CQ60] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { /* 0x17 was falsely set up as a mic, it should 0x1d */ { 0x17, 0x400001f0 }, { 0x1d, 0x97a70120 }, { } } }, [CXT_FIXUP_STEREO_DMIC] = { .type = HDA_FIXUP_FUNC, .v.func = cxt_fixup_stereo_dmic, Loading Loading @@ -769,6 +779,7 @@ static const struct hda_model_fixup cxt5047_fixup_models[] = { }; static const struct snd_pci_quirk cxt5051_fixups[] = { SND_PCI_QUIRK(0x103c, 0x360b, "Compaq CQ60", CXT_PINCFG_COMPAQ_CQ60), SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo X200", CXT_PINCFG_LENOVO_X200), {} }; Loading Loading
sound/core/control.c +5 −0 Original line number Diff line number Diff line Loading @@ -1207,6 +1207,11 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file, struct user_element *ue; int err; if (!*info->id.name) return -EINVAL; if (strnlen(info->id.name, sizeof(info->id.name)) >= sizeof(info->id.name)) return -EINVAL; /* Delete a control to replace them if needed. */ if (replace) { info->id.numid = 0; Loading
sound/firewire/dice/dice-interface.h +9 −9 Original line number Diff line number Diff line Loading @@ -298,24 +298,24 @@ */ #define RX_ISOCHRONOUS 0x008 /* * Index of first quadlet to be interpreted; read/write. If > 0, that many * quadlets at the beginning of each data block will be ignored, and all the * audio and MIDI quadlets will follow. */ #define RX_SEQ_START 0x00c /* * The number of audio channels; read-only. There will be one quadlet per * channel. */ #define RX_NUMBER_AUDIO 0x00c #define RX_NUMBER_AUDIO 0x010 /* * The number of MIDI ports, 0-8; read-only. If > 0, there will be one * additional quadlet in each data block, following the audio quadlets. */ #define RX_NUMBER_MIDI 0x010 /* * Index of first quadlet to be interpreted; read/write. If > 0, that many * quadlets at the beginning of each data block will be ignored, and all the * audio and MIDI quadlets will follow. */ #define RX_SEQ_START 0x014 #define RX_NUMBER_MIDI 0x014 /* * Names of all audio channels; read-only. Quadlets are byte-swapped. Names Loading
sound/firewire/dice/dice-proc.c +2 −2 Original line number Diff line number Diff line Loading @@ -99,9 +99,9 @@ static void dice_proc_read(struct snd_info_entry *entry, } tx; struct { u32 iso; u32 seq_start; u32 number_audio; u32 number_midi; u32 seq_start; char names[RX_NAMES_SIZE]; u32 ac3_caps; u32 ac3_enable; Loading Loading @@ -204,10 +204,10 @@ static void dice_proc_read(struct snd_info_entry *entry, break; snd_iprintf(buffer, "rx %u:\n", stream); snd_iprintf(buffer, " iso channel: %d\n", (int)buf.rx.iso); snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start); snd_iprintf(buffer, " audio channels: %u\n", buf.rx.number_audio); snd_iprintf(buffer, " midi ports: %u\n", buf.rx.number_midi); snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start); if (quadlets >= 68) { dice_proc_fixup_string(buf.rx.names, RX_NAMES_SIZE); snd_iprintf(buffer, " names: %s\n", buf.rx.names); Loading
sound/firewire/iso-resources.c +1 −2 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit) { r->channels_mask = ~0uLL; r->unit = fw_unit_get(unit); r->unit = unit; mutex_init(&r->mutex); r->allocated = false; Loading @@ -42,7 +42,6 @@ void fw_iso_resources_destroy(struct fw_iso_resources *r) { WARN_ON(r->allocated); mutex_destroy(&r->mutex); fw_unit_put(r->unit); } EXPORT_SYMBOL(fw_iso_resources_destroy); Loading
sound/pci/hda/patch_conexant.c +11 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,7 @@ enum { CXT_PINCFG_LENOVO_TP410, CXT_PINCFG_LEMOTE_A1004, CXT_PINCFG_LEMOTE_A1205, CXT_PINCFG_COMPAQ_CQ60, CXT_FIXUP_STEREO_DMIC, CXT_FIXUP_INC_MIC_BOOST, CXT_FIXUP_HEADPHONE_MIC_PIN, Loading Loading @@ -660,6 +661,15 @@ static const struct hda_fixup cxt_fixups[] = { .type = HDA_FIXUP_PINS, .v.pins = cxt_pincfg_lemote, }, [CXT_PINCFG_COMPAQ_CQ60] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { /* 0x17 was falsely set up as a mic, it should 0x1d */ { 0x17, 0x400001f0 }, { 0x1d, 0x97a70120 }, { } } }, [CXT_FIXUP_STEREO_DMIC] = { .type = HDA_FIXUP_FUNC, .v.func = cxt_fixup_stereo_dmic, Loading Loading @@ -769,6 +779,7 @@ static const struct hda_model_fixup cxt5047_fixup_models[] = { }; static const struct snd_pci_quirk cxt5051_fixups[] = { SND_PCI_QUIRK(0x103c, 0x360b, "Compaq CQ60", CXT_PINCFG_COMPAQ_CQ60), SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo X200", CXT_PINCFG_LENOVO_X200), {} }; Loading