Commit b3f5c0f3 authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'for-linus' into for-next

Back-merge the current devel branch for further development.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parents 9e98c678 b4748e7a
...@@ -41,7 +41,7 @@ void snd_opl3_timer_func(struct timer_list *t); ...@@ -41,7 +41,7 @@ void snd_opl3_timer_func(struct timer_list *t);
/* Prototypes for opl3_drums.c */ /* Prototypes for opl3_drums.c */
void snd_opl3_load_drums(struct snd_opl3 *opl3); void snd_opl3_load_drums(struct snd_opl3 *opl3);
void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int on_off, int vel, struct snd_midi_channel *chan); void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int vel, int on_off, struct snd_midi_channel *chan);
/* Prototypes for opl3_oss.c */ /* Prototypes for opl3_oss.c */
#if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) #if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS)
......
...@@ -36,7 +36,7 @@ static void name_card(struct snd_motu *motu) ...@@ -36,7 +36,7 @@ static void name_card(struct snd_motu *motu)
fw_csr_iterator_init(&it, motu->unit->directory); fw_csr_iterator_init(&it, motu->unit->directory);
while (fw_csr_iterator_next(&it, &key, &val)) { while (fw_csr_iterator_next(&it, &key, &val)) {
switch (key) { switch (key) {
case CSR_VERSION: case CSR_MODEL:
version = val; version = val;
break; break;
} }
...@@ -46,7 +46,7 @@ static void name_card(struct snd_motu *motu) ...@@ -46,7 +46,7 @@ static void name_card(struct snd_motu *motu)
strcpy(motu->card->shortname, motu->spec->name); strcpy(motu->card->shortname, motu->spec->name);
strcpy(motu->card->mixername, motu->spec->name); strcpy(motu->card->mixername, motu->spec->name);
snprintf(motu->card->longname, sizeof(motu->card->longname), snprintf(motu->card->longname, sizeof(motu->card->longname),
"MOTU %s (version:%d), GUID %08x%08x at %s, S%d", "MOTU %s (version:%06x), GUID %08x%08x at %s, S%d",
motu->spec->name, version, motu->spec->name, version,
fw_dev->config_rom[3], fw_dev->config_rom[4], fw_dev->config_rom[3], fw_dev->config_rom[4],
dev_name(&motu->unit->device), 100 << fw_dev->max_speed); dev_name(&motu->unit->device), 100 << fw_dev->max_speed);
...@@ -237,20 +237,20 @@ static const struct snd_motu_spec motu_audio_express = { ...@@ -237,20 +237,20 @@ static const struct snd_motu_spec motu_audio_express = {
#define SND_MOTU_DEV_ENTRY(model, data) \ #define SND_MOTU_DEV_ENTRY(model, data) \
{ \ { \
.match_flags = IEEE1394_MATCH_VENDOR_ID | \ .match_flags = IEEE1394_MATCH_VENDOR_ID | \
IEEE1394_MATCH_MODEL_ID | \ IEEE1394_MATCH_SPECIFIER_ID | \
IEEE1394_MATCH_SPECIFIER_ID, \ IEEE1394_MATCH_VERSION, \
.vendor_id = OUI_MOTU, \ .vendor_id = OUI_MOTU, \
.model_id = model, \
.specifier_id = OUI_MOTU, \ .specifier_id = OUI_MOTU, \
.version = model, \
.driver_data = (kernel_ulong_t)data, \ .driver_data = (kernel_ulong_t)data, \
} }
static const struct ieee1394_device_id motu_id_table[] = { static const struct ieee1394_device_id motu_id_table[] = {
SND_MOTU_DEV_ENTRY(0x101800, &motu_828mk2), SND_MOTU_DEV_ENTRY(0x000003, &motu_828mk2),
SND_MOTU_DEV_ENTRY(0x107800, &snd_motu_spec_traveler), SND_MOTU_DEV_ENTRY(0x000009, &snd_motu_spec_traveler),
SND_MOTU_DEV_ENTRY(0x106800, &motu_828mk3), /* FireWire only. */ SND_MOTU_DEV_ENTRY(0x000015, &motu_828mk3), /* FireWire only. */
SND_MOTU_DEV_ENTRY(0x100800, &motu_828mk3), /* Hybrid. */ SND_MOTU_DEV_ENTRY(0x000035, &motu_828mk3), /* Hybrid. */
SND_MOTU_DEV_ENTRY(0x104800, &motu_audio_express), SND_MOTU_DEV_ENTRY(0x000033, &motu_audio_express),
{ } { }
}; };
MODULE_DEVICE_TABLE(ieee1394, motu_id_table); MODULE_DEVICE_TABLE(ieee1394, motu_id_table);
......
...@@ -111,6 +111,10 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev) ...@@ -111,6 +111,10 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev)
/* block the 0x388 port to avoid PnP conflicts */ /* block the 0x388 port to avoid PnP conflicts */
acard->fm_res = request_region(0x388, 4, "SoundBlaster FM"); acard->fm_res = request_region(0x388, 4, "SoundBlaster FM");
if (!acard->fm_res) {
err = -EBUSY;
goto _err;
}
if (port[dev] != SNDRV_AUTO_PORT) { if (port[dev] != SNDRV_AUTO_PORT) {
if ((err = snd_sbdsp_create(card, port[dev], irq[dev], if ((err = snd_sbdsp_create(card, port[dev], irq[dev],
......
...@@ -1952,6 +1952,11 @@ static int snd_echo_create(struct snd_card *card, ...@@ -1952,6 +1952,11 @@ static int snd_echo_create(struct snd_card *card,
} }
chip->dsp_registers = (volatile u32 __iomem *) chip->dsp_registers = (volatile u32 __iomem *)
ioremap_nocache(chip->dsp_registers_phys, sz); ioremap_nocache(chip->dsp_registers_phys, sz);
if (!chip->dsp_registers) {
dev_err(chip->card->dev, "ioremap failed\n");
snd_echo_free(chip);
return -ENOMEM;
}
if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED, if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
KBUILD_MODNAME, chip)) { KBUILD_MODNAME, chip)) {
......
...@@ -2144,10 +2144,12 @@ static struct snd_pci_quirk power_save_blacklist[] = { ...@@ -2144,10 +2144,12 @@ static struct snd_pci_quirk power_save_blacklist[] = {
SND_PCI_QUIRK(0x8086, 0x2057, "Intel NUC5i7RYB", 0), SND_PCI_QUIRK(0x8086, 0x2057, "Intel NUC5i7RYB", 0),
/* https://bugzilla.redhat.com/show_bug.cgi?id=1520902 */ /* https://bugzilla.redhat.com/show_bug.cgi?id=1520902 */
SND_PCI_QUIRK(0x8086, 0x2068, "Intel NUC7i3BNB", 0), SND_PCI_QUIRK(0x8086, 0x2068, "Intel NUC7i3BNB", 0),
/* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */
SND_PCI_QUIRK(0x17aa, 0x36a7, "Lenovo C50 All in one", 0),
/* https://bugzilla.kernel.org/show_bug.cgi?id=198611 */ /* https://bugzilla.kernel.org/show_bug.cgi?id=198611 */
SND_PCI_QUIRK(0x17aa, 0x2227, "Lenovo X1 Carbon 3rd Gen", 0), SND_PCI_QUIRK(0x17aa, 0x2227, "Lenovo X1 Carbon 3rd Gen", 0),
/* https://bugzilla.redhat.com/show_bug.cgi?id=1689623 */
SND_PCI_QUIRK(0x17aa, 0x367b, "Lenovo IdeaCentre B550", 0),
/* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */
SND_PCI_QUIRK(0x17aa, 0x36a7, "Lenovo C50 All in one", 0),
{} {}
}; };
#endif /* CONFIG_PM */ #endif /* CONFIG_PM */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment