diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-03 12:10:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-03 12:10:23 -0400 |
commit | 9992ba72327fa0d8bdc9fb624e80f5cce338a711 (patch) | |
tree | e0bf31ae53cb19c44674df7e0d0343a26037ad34 /sound/oss | |
parent | 00fdffb5131125dce0702bf61e24a806ec3aed80 (diff) | |
parent | 4ca231b2e6ed171107c5b21f9e92d1965fd6fd9e (diff) |
Merge tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"Mostly many small changes spread as seen in diffstat in sound/*
directory by this update. A significant change in the subsystem level
is the introduction of snd_soc_component, which will help more generic
handling of SoC and off-SoC components.
Also, snd_BUG_ON() macro is enabled unconditionally now due to its
misuses, so people might hit kernel warnings (it's a good thing for
us).
- compress-offload: support for capture by Charles Keepax
- HD-audio: codec delay support by Dylan Reid
- HD-audio: improvements/fixes in generic parser: better headphone
mic and headset mic support, jack_modes hint consolidation, proper
beep attach/detachment, generalized power filter controls by David
Henningsson, et al
- HD-audio: Improved management of HDMI codec pins/converters
- HD-audio: Better pin/DAC assignment for VIA codecs
- HD-audio: Haswell HDMI workarounds
- HD-audio: ALC268 codec support, a few new quirks for Chromebooks
- USB: regression fixes: USB-MIDI autopm fix, the recent ISO latency
fix by Clemens Ladisch
- USB: support for DSD formats by Daniel Mack
- USB: A few UAC2 device endian/cock fixes by Eldad Zack
- USB: quirks for Emu 192kHz support, Novation Twitch DJ controller,
Yamaha THRxx devices
- HDSPM: updates for TCO controls by Adrian Knoth
- ASoC: Add a snd_soc_component object type for generic handling of
SoC and off-SoC components by Kuninori Morimoto,
- dmaengine: a large set of cleanups and conversions by Lars-Peter
Clausen
- ASoC DAPM: performance optimizations from Ryo Tsutsui
- ASoC DAPM: support for mixer control sharing by Stephen Warren
- ASoC: multiplatform ARM cleanups from Arnd Bergmann
- ASoC: new codec drivers for AK5385 and TAS5086 from Daniel Mack"
* tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (315 commits)
ALSA: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch
ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats
ALSA: pcm_format_to_bits strong-typed conversion
ALSA: compress: fix the states to check for allowing read
ALSA: hda - Move Thinkpad X220 to use auto parser
ALSA: USB: adjust for changed 3.8 USB API
ALSA: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources
sound: oss/dmabuf: use dma_map_single
ALSA: ali5451: use mdelay instead of large udelay constants
ALSA: hda - Add the support for ALC286 codec
ALSA: usb-audio: USB quirk for Yamaha THR10C
ALSA: usb-audio: USB quirk for Yamaha THR5A
ALSA: usb-audio: USB quirk for Yamaha THR10
ALSA: usb-audio: Fix autopm error during probing
ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT
ALSA: sound kconfig typo
ALSA: emu10k1: Fix dock firmware loading
ASoC: ux500: forward declare msp_i2s_platform_data
ASoC: davinci-mcasp: Add Support BCLK-to-LRCLK ratio for TDM modes
ASoC: davinci-pcm, davinci-mcasp: Clean up active_serializers
...
Diffstat (limited to 'sound/oss')
-rw-r--r-- | sound/oss/dmabuf.c | 3 | ||||
-rw-r--r-- | sound/oss/sb_common.c | 3 | ||||
-rw-r--r-- | sound/oss/uart401.c | 11 |
3 files changed, 10 insertions, 7 deletions
diff --git a/sound/oss/dmabuf.c b/sound/oss/dmabuf.c index bcc3e8e07122..a59c88818f48 100644 --- a/sound/oss/dmabuf.c +++ b/sound/oss/dmabuf.c | |||
@@ -114,7 +114,7 @@ static int sound_alloc_dmap(struct dma_buffparms *dmap) | |||
114 | } | 114 | } |
115 | } | 115 | } |
116 | dmap->raw_buf = start_addr; | 116 | dmap->raw_buf = start_addr; |
117 | dmap->raw_buf_phys = virt_to_bus(start_addr); | 117 | dmap->raw_buf_phys = dma_map_single(NULL, start_addr, dmap->buffsize, DMA_BIDIRECTIONAL); |
118 | 118 | ||
119 | for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++) | 119 | for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++) |
120 | SetPageReserved(page); | 120 | SetPageReserved(page); |
@@ -139,6 +139,7 @@ static void sound_free_dmap(struct dma_buffparms *dmap) | |||
139 | for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++) | 139 | for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++) |
140 | ClearPageReserved(page); | 140 | ClearPageReserved(page); |
141 | 141 | ||
142 | dma_unmap_single(NULL, dmap->raw_buf_phys, dmap->buffsize, DMA_BIDIRECTIONAL); | ||
142 | free_pages((unsigned long) dmap->raw_buf, sz); | 143 | free_pages((unsigned long) dmap->raw_buf, sz); |
143 | dmap->raw_buf = NULL; | 144 | dmap->raw_buf = NULL; |
144 | } | 145 | } |
diff --git a/sound/oss/sb_common.c b/sound/oss/sb_common.c index 7d42c5418d1b..851a1da46be1 100644 --- a/sound/oss/sb_common.c +++ b/sound/oss/sb_common.c | |||
@@ -626,13 +626,12 @@ int sb_dsp_detect(struct address_info *hw_config, int pci, int pciio, struct sb_ | |||
626 | */ | 626 | */ |
627 | 627 | ||
628 | 628 | ||
629 | detected_devc = kmalloc(sizeof(sb_devc), GFP_KERNEL); | 629 | detected_devc = kmemdup(devc, sizeof(sb_devc), GFP_KERNEL); |
630 | if (detected_devc == NULL) | 630 | if (detected_devc == NULL) |
631 | { | 631 | { |
632 | printk(KERN_ERR "sb: Can't allocate memory for device information\n"); | 632 | printk(KERN_ERR "sb: Can't allocate memory for device information\n"); |
633 | return 0; | 633 | return 0; |
634 | } | 634 | } |
635 | memcpy(detected_devc, devc, sizeof(sb_devc)); | ||
636 | MDB(printk(KERN_INFO "SB %d.%02d detected OK (%x)\n", devc->major, devc->minor, hw_config->io_base)); | 635 | MDB(printk(KERN_INFO "SB %d.%02d detected OK (%x)\n", devc->major, devc->minor, hw_config->io_base)); |
637 | return 1; | 636 | return 1; |
638 | } | 637 | } |
diff --git a/sound/oss/uart401.c b/sound/oss/uart401.c index 8e514a676a0d..5433c6f5eca2 100644 --- a/sound/oss/uart401.c +++ b/sound/oss/uart401.c | |||
@@ -352,23 +352,26 @@ int probe_uart401(struct address_info *hw_config, struct module *owner) | |||
352 | goto cleanup_irq; | 352 | goto cleanup_irq; |
353 | } | 353 | } |
354 | conf_printf(name, hw_config); | 354 | conf_printf(name, hw_config); |
355 | midi_devs[devc->my_dev] = kmalloc(sizeof(struct midi_operations), GFP_KERNEL); | 355 | midi_devs[devc->my_dev] = kmemdup(&uart401_operations, |
356 | sizeof(struct midi_operations), | ||
357 | GFP_KERNEL); | ||
356 | if (!midi_devs[devc->my_dev]) { | 358 | if (!midi_devs[devc->my_dev]) { |
357 | printk(KERN_ERR "uart401: Failed to allocate memory\n"); | 359 | printk(KERN_ERR "uart401: Failed to allocate memory\n"); |
358 | goto cleanup_unload_mididev; | 360 | goto cleanup_unload_mididev; |
359 | } | 361 | } |
360 | memcpy(midi_devs[devc->my_dev], &uart401_operations, sizeof(struct midi_operations)); | ||
361 | 362 | ||
362 | if (owner) | 363 | if (owner) |
363 | midi_devs[devc->my_dev]->owner = owner; | 364 | midi_devs[devc->my_dev]->owner = owner; |
364 | 365 | ||
365 | midi_devs[devc->my_dev]->devc = devc; | 366 | midi_devs[devc->my_dev]->devc = devc; |
366 | midi_devs[devc->my_dev]->converter = kmalloc(sizeof(struct synth_operations), GFP_KERNEL); | 367 | midi_devs[devc->my_dev]->converter = kmemdup(&std_midi_synth, |
368 | sizeof(struct synth_operations), | ||
369 | GFP_KERNEL); | ||
370 | |||
367 | if (!midi_devs[devc->my_dev]->converter) { | 371 | if (!midi_devs[devc->my_dev]->converter) { |
368 | printk(KERN_WARNING "uart401: Failed to allocate memory\n"); | 372 | printk(KERN_WARNING "uart401: Failed to allocate memory\n"); |
369 | goto cleanup_midi_devs; | 373 | goto cleanup_midi_devs; |
370 | } | 374 | } |
371 | memcpy(midi_devs[devc->my_dev]->converter, &std_midi_synth, sizeof(struct synth_operations)); | ||
372 | strcpy(midi_devs[devc->my_dev]->info.name, name); | 375 | strcpy(midi_devs[devc->my_dev]->info.name, name); |
373 | midi_devs[devc->my_dev]->converter->id = "UART401"; | 376 | midi_devs[devc->my_dev]->converter->id = "UART401"; |
374 | midi_devs[devc->my_dev]->converter->midi_dev = devc->my_dev; | 377 | midi_devs[devc->my_dev]->converter->midi_dev = devc->my_dev; |