]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 8 Oct 2012 22:07:14 +0000 (07:07 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 8 Oct 2012 22:07:14 +0000 (07:07 +0900)
Pull sound updates from Takashi Iwai:
 "This contains pretty many small commits covering fairly large range of
  files in sound/ directory.  Partly because of additional API support
  and partly because of constantly developed ASoC and ARM stuff.

  Some highlights:

   - Introduced the helper function and documentation for exposing the
     channel map via control API, as discussed in Plumbers; most of PCI
     drivers are covered, will follow more drivers later

   - Most of drivers have been replaced with the new PM callbacks (if
     the bus is supported)

   - HD-audio controller got the support of runtime PM and the support
     of D3 clock-stop.  Also changing the power_save option in sysfs
     kicks off immediately to enable / disable the power-save mode.

   - Another significant code change in HD-audio is the rewrite of
     firmware loading code.  Other than that, most of changes in
     HD-audio are continued cleanups and standardization for the generic
     auto parser and bug fixes (HBR, device-specific fixups), in
     addition to the support of channel-map API.

   - Addition of ASoC bindings for the compressed API, used by the
     mid-x86 drivers.

   - Lots of cleanups and API refreshes for ASoC codec drivers and
     DaVinci.

   - Conversion of OMAP to dmaengine.

   - New machine driver for Wolfson Microelectronics Bells.

   - New CODEC driver for Wolfson Microelectronics WM0010.

   - Enhancements to the ux500 and wm2000 drivers

   - A new driver for DA9055 and the support for regulator bypass mode."

Fix up various arm soc header file reorg conflicts.

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
  ALSA: hda - Add new codec ALC283 ALC290 support
  ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
  ALSA: hda - fix indices on boost volume on Conexant
  ALSA: aloop - add locking to timer access
  ALSA: hda - Fix hang caused by race during suspend.
  sound: Remove unnecessary semicolon
  ALSA: hda/realtek - Fix detection of ALC271X codec
  ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
  ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
  ALSA: hda - make a generic unsol event handler
  ASoC: codecs: Add DA9055 codec driver
  ASoC: eukrea-tlv320: Convert it to platform driver
  ALSA: ASoC: add DT bindings for CS4271
  ASoC: wm_hubs: Ensure volume updates are handled during class W startup
  ASoC: wm5110: Adding missing volume update bits
  ASoC: wm5110: Add OUT3R support
  ASoC: wm5110: Add AEC loopback support
  ASoC: wm5110: Rename EPOUT to HPOUT3
  ASoC: arizona: Add more clock rates
  ASoC: arizona: Add more DSP options for mixer input muxes
  ...

48 files changed:
1  2 
arch/arm/mach-davinci/davinci.h
arch/arm/mach-davinci/devices.c
arch/arm/mach-davinci/dm355.c
arch/arm/mach-davinci/dm365.c
arch/arm/mach-davinci/include/mach/da8xx.h
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-omap2/board-am3517evm.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-devkit8000.c
arch/arm/mach-omap2/board-igep0020.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-zoom-peripherals.c
arch/arm/mach-omap2/mcbsp.c
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
arch/arm/mach-omap2/twl-common.c
arch/arm/mach-omap2/twl-common.h
drivers/dma/at_hdmac.c
drivers/dma/ep93xx_dma.c
drivers/dma/imx-dma.c
drivers/dma/imx-sdma.c
drivers/dma/mmp_tdma.c
drivers/dma/omap-dma.c
drivers/dma/pl330.c
drivers/dma/tegra20-apb-dma.c
include/linux/i2c/twl.h
include/linux/platform_data/asoc-ti-mcbsp.h
include/sound/ac97_codec.h
include/sound/ad1816a.h
include/sound/pcm.h
sound/pci/oxygen/oxygen_lib.c
sound/soc/cirrus/ep93xx-ac97.c
sound/soc/cirrus/ep93xx-i2s.c
sound/soc/cirrus/ep93xx-pcm.c
sound/soc/codecs/wm2000.c
sound/soc/codecs/wm5100.c
sound/soc/fsl/imx-pcm-dma.c
sound/soc/fsl/imx-ssi.c
sound/soc/omap/am3517evm.c
sound/soc/omap/mcbsp.c
sound/soc/omap/omap-abe-twl6040.c
sound/soc/omap/omap-mcbsp.c
sound/soc/omap/omap-mcpdm.c
sound/soc/omap/omap-pcm.c
sound/soc/omap/zoom2.c
sound/soc/soc-core.c
sound/usb/endpoint.c

index a37fc44e29bc05b2c52d796bf4ace69cb6800601,8661b2013527f12b33e6c9d081ccea3314ba47af..12d544befcfa36554d70931fcf0048e01ab212bd
  #include <linux/davinci_emac.h>
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
- #include <mach/asp.h>
+ #include <linux/platform_data/davinci_asp.h>
 -
 -#include <mach/keyscan.h>
 +#include <linux/platform_data/keyscan-davinci.h>
  #include <mach/hardware.h>
+ #include <mach/edma.h>
  
  #include <media/davinci/vpfe_capture.h>
  #include <media/davinci/vpif_types.h>
Simple merge
index adbde33eca015a640217ed1335671645cd874449,e47a3f0e8ac48643a2c47867ae523855c04329ca..a255434908dbcfebb1a1b8a3a946860db7e9f4bf
@@@ -26,8 -26,7 +26,7 @@@
  #include <mach/time.h>
  #include <mach/serial.h>
  #include <mach/common.h>
- #include <mach/asp.h>
 -#include <mach/spi.h>
 +#include <linux/platform_data/spi-davinci.h>
  #include <mach/gpio-davinci.h>
  
  #include "davinci.h"
index 719e22f2a37e42bd4bc11bcf28bc86f629a79adf,f473745d6e3cbe5ca940ca6694eabe00f6e41207..b680c832e0ba87758f1f29aeb502109ce2699268
@@@ -29,9 -29,8 +29,8 @@@
  #include <mach/time.h>
  #include <mach/serial.h>
  #include <mach/common.h>
- #include <mach/asp.h>
 -#include <mach/keyscan.h>
 -#include <mach/spi.h>
 +#include <linux/platform_data/keyscan-davinci.h>
 +#include <linux/platform_data/spi-davinci.h>
  #include <mach/gpio-davinci.h>
  
  #include "davinci.h"
index 33e78ae2a254d3106f97a42dcf68aa2cebc076c2,c74a6abef187f9c7e7bf7b61e0e4c81034fb58bb..c9ee723c56f35a78628dc0a4a78c08bd63a4f6c3
  
  #include <mach/serial.h>
  #include <mach/edma.h>
- #include <mach/asp.h>
 -#include <mach/i2c.h>
 -#include <mach/mmc.h>
 -#include <mach/usb.h>
  #include <mach/pm.h>
 -#include <mach/spi.h>
 +#include <linux/platform_data/i2c-davinci.h>
 +#include <linux/platform_data/mmc-davinci.h>
 +#include <linux/platform_data/usb-davinci.h>
 +#include <linux/platform_data/spi-davinci.h>
  
  extern void __iomem *da8xx_syscfg0_base;
  extern void __iomem *da8xx_syscfg1_base;
index 821d6aac411cb9e5d9d56f8ffb3100b3affa1b6b,562722959666f07078fecc1eb8f0e2fd70bd4008..141756f00ae5c8733795855bd31b994c8609a496
@@@ -32,6 -32,8 +32,7 @@@
  #include <linux/delay.h>
  #include <linux/dma-mapping.h>
  #include <linux/leds.h>
 -#include <linux/memblock.h>
+ #include <linux/platform_data/asoc-mx27vis.h>
  #include <media/soc_camera.h>
  #include <sound/tlv320aic32x4.h>
  #include <asm/mach-types.h>
@@@ -403,47 -436,14 +434,55 @@@ static const struct imx_ssi_platform_da
        .flags                  = IMX_SSI_DMA | IMX_SSI_SYN,
  };
  
 +/* coda */
 +
 +static void __init visstrim_coda_init(void)
 +{
 +      struct platform_device *pdev;
 +      int dma;
 +
 +      pdev = imx27_add_coda();
 +      dma = dma_declare_coherent_memory(&pdev->dev,
 +                                        mx2_camera_base + MX2_CAMERA_BUF_SIZE,
 +                                        mx2_camera_base + MX2_CAMERA_BUF_SIZE,
 +                                        MX2_CAMERA_BUF_SIZE,
 +                                        DMA_MEMORY_MAP | DMA_MEMORY_EXCLUSIVE);
 +      if (!(dma & DMA_MEMORY_MAP))
 +              return;
 +}
 +
 +/* DMA deinterlace */
 +static struct platform_device visstrim_deinterlace = {
 +      .name = "m2m-deinterlace",
 +      .id = 0,
 +};
 +
 +static void __init visstrim_deinterlace_init(void)
 +{
 +      int ret = -ENOMEM;
 +      struct platform_device *pdev = &visstrim_deinterlace;
 +      int dma;
 +
 +      ret = platform_device_register(pdev);
 +
 +      dma = dma_declare_coherent_memory(&pdev->dev,
 +                                        mx2_camera_base + 2 * MX2_CAMERA_BUF_SIZE,
 +                                        mx2_camera_base + 2 * MX2_CAMERA_BUF_SIZE,
 +                                        MX2_CAMERA_BUF_SIZE,
 +                                        DMA_MEMORY_MAP | DMA_MEMORY_EXCLUSIVE);
 +      if (!(dma & DMA_MEMORY_MAP))
 +              return;
 +}
 +
 +
+ /* Audio */
+ static const struct snd_mx27vis_platform_data snd_mx27vis_pdata __initconst = {
+       .amp_gain0_gpio = AMP_GAIN_0,
+       .amp_gain1_gpio = AMP_GAIN_1,
+       .amp_mutel_gpio = AMP_MUTE_SDL,
+       .amp_muter_gpio = AMP_MUTE_SDR,
+ };
  static void __init visstrim_m10_revision(void)
  {
        int exp_version = 0;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 6bcc107b9fc37facbafeac687e31f281f2a1bb57,a7d3b04807448c3bfa29cc408a09af1ea964488a..67f8540c8e07a912a87460311afc0f3a0e5c094e
@@@ -245,13 -245,10 +246,7 @@@ static int zoom_twl_gpio_setup(struct d
        return ret;
  }
  
- /* EXTMUTE callback function */
- static void zoom2_set_hs_extmute(int mute)
- {
-       gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
- }
  static struct twl4030_gpio_platform_data zoom_gpio_data = {
 -      .gpio_base      = OMAP_MAX_GPIO_LINES,
 -      .irq_base       = TWL4030_GPIO_IRQ_BASE,
 -      .irq_end        = TWL4030_GPIO_IRQ_END,
        .setup          = zoom_twl_gpio_setup,
  };
  
@@@ -277,9 -274,9 +272,9 @@@ static int __init omap_i2c_init(void
  
                codec_data->ramp_delay_value = 3;       /* 161 ms */
                codec_data->hs_extmute = 1;
-               codec_data->set_hs_extmute = zoom2_set_hs_extmute;
+               codec_data->hs_extmute_gpio = ZOOM2_HEADSET_EXTMUTE_GPIO;
        }
 -      omap_pmic_init(1, 2400, "twl5030", INT_34XX_SYS_NIRQ, &zoom_twldata);
 +      omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata);
        omap_register_i2c_bus(2, 400, NULL, 0);
        omap_register_i2c_bus(3, 400, NULL, 0);
        return 0;
index 7d47407d6d461892cf2deb57c20a5a050335ac04,d57a3578bf039e2142ea4a89bf2aade44463eae8..37f8f948047baace501bc6ef4b09f551aa7c9cfa
  #include <linux/clk.h>
  #include <linux/err.h>
  #include <linux/io.h>
+ #include <linux/of.h>
  #include <linux/platform_device.h>
  #include <linux/slab.h>
 +#include <linux/platform_data/asoc-ti-mcbsp.h>
  
 -#include <mach/irqs.h>
  #include <plat/dma.h>
 -#include <plat/cpu.h>
 -#include <plat/mcbsp.h>
  #include <plat/omap_device.h>
  #include <linux/pm_runtime.h>
  
Simple merge
Simple merge
Simple merge
index 64256f64425285748d8be20d15fad0b5492c993a,493735b9b2c92a3871d4f48d80301a604d924552..bcfde400904ff9a6dd05e957eb1159d5fc98f771
@@@ -1118,8 -1118,9 +1118,9 @@@ fail
   * @chan: channel
   * @dma_addr: DMA mapped address of the buffer
   * @buf_len: length of the buffer (in bytes)
 - * @period_len: lenght of a single period
 + * @period_len: length of a single period
   * @dir: direction of the operation
+  * @flags: tx descriptor status flags
   * @context: operation context (ignored)
   *
   * Prepares a descriptor for cyclic DMA operation. This means that once the
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index a681a9a8b8463824618a8c671d7cd12d6501006f,bc06175e636716283a71b75c4ab35a0c2191461a..afb8d4f1bedfac70eb98492ce5b4c023bb9d0752
  #include <linux/delay.h>
  #include <linux/io.h>
  #include <linux/slab.h>
+ #include <linux/pm_runtime.h>
  
 -#include <plat/mcbsp.h>
 +#include <linux/platform_data/asoc-ti-mcbsp.h>
 +
 +#include <plat/cpu.h>
  
  #include "mcbsp.h"
  
Simple merge
index 1b18627763cede8ba823b90d93fc127f105758dd,fef2f5933bb262f65f9c268da9c30d64daef3ee0..a6ee157478593f1e5eb338e51597df176308a953
@@@ -32,9 -34,7 +34,8 @@@
  #include <sound/initval.h>
  #include <sound/soc.h>
  
 -#include <plat/mcbsp.h>
 +#include <plat/cpu.h>
- #include <plat/dma.h>
 +#include <linux/platform_data/asoc-ti-mcbsp.h>
  #include "mcbsp.h"
  #include "omap-mcbsp.h"
  #include "omap-pcm.h"
Simple merge
index b309941798850d1143aaf5c4bfdf8c67a5967e09,a2636f6b836210ea8b55645e5906114535fb904f..340874ebf9ae79cb550cbfe54e81850802448e16
  #include <sound/core.h>
  #include <sound/pcm.h>
  #include <sound/pcm_params.h>
+ #include <sound/dmaengine_pcm.h>
  #include <sound/soc.h>
  
- #include <plat/dma.h>
 +#include <plat/cpu.h>
  #include "omap-pcm.h"
  
  static const struct snd_pcm_hardware omap_pcm_hardware = {
Simple merge
Simple merge
Simple merge