]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'sound/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 3 Oct 2012 03:07:12 +0000 (13:07 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 3 Oct 2012 03:07:12 +0000 (13:07 +1000)
Conflicts:
arch/arm/mach-davinci/davinci.h
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
sound/soc/omap/igep0020.c
sound/soc/omap/omap-mcbsp.c
sound/soc/omap/omap-pcm.c
sound/soc/omap/omap3beagle.c
sound/soc/omap/omap3evm.c
sound/soc/omap/overo.c

51 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/mxs-dma.c
drivers/dma/omap-dma.c
drivers/dma/pl330.c
drivers/dma/sirf-dma.c
drivers/dma/ste_dma40.c
drivers/dma/tegra20-apb-dma.c
drivers/mfd/twl-core.c
include/linux/i2c/twl.h
include/linux/platform_data/asoc-ti-mcbsp.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/ab8500-codec.c
sound/soc/codecs/wm2000.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/soc/ux500/ux500_msp_dai.c
sound/soc/ux500/ux500_msp_i2s.c
sound/usb/endpoint.c

index a37fc44e29bc05b2c52d796bf4ace69cb6800601,8661b2013527f12b33e6c9d081ccea3314ba47af..acb545aebcf1a474bd912844c9096efb2123c309
  #include <linux/davinci_emac.h>
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
+ #include <linux/platform_data/davinci_asp.h>
  
- #include <mach/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
index 07abd09e0b1d83f6a9eb347a6bef37187ad34fe4,2c1c2524ef8c0a9fdf55d03474f0cd4b3a6e0045..af547490b4f7f6e0b1dbada793259c64a513a203
@@@ -2462,35 -2405,8 +2462,32 @@@ static int ab8500_codec_probe(struct sn
        dev_dbg(dev, "%s: Enter.\n", __func__);
  
        /* Setup AB8500 according to board-settings */
-       pdata = (struct ab8500_platform_data *)dev_get_platdata(dev->parent);
-       /* Inform SoC Core that we have our own I/O arrangements. */
-       codec->control_data = (void *)true;
+       pdata = dev_get_platdata(dev->parent);
  
 +      if (np) {
 +              if (!pdata)
 +                      pdata = devm_kzalloc(dev,
 +                                      sizeof(struct ab8500_platform_data),
 +                                      GFP_KERNEL);
 +
 +              if (pdata && !pdata->codec)
 +                      pdata->codec
 +                              = devm_kzalloc(dev,
 +                                      sizeof(struct ab8500_codec_platform_data),
 +                                      GFP_KERNEL);
 +
 +              if (!(pdata && pdata->codec))
 +                      return -ENOMEM;
 +
 +              ab8500_codec_of_probe(dev, np, pdata->codec);
 +
 +      } else {
 +              if (!(pdata && pdata->codec)) {
 +                      dev_err(dev, "No codec platform data or DT found\n");
 +                      return -EINVAL;
 +              }
 +      }
 +
        status = ab8500_audio_setup_mics(codec, &pdata->codec->amics);
        if (status < 0) {
                pr_err("%s: Failed to setup mics (%d)!\n", __func__, status);
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
index e5c79ca425183e47cdf1a255cd1c2ef237dced18,1b7c2f58ce1366bcb2f5505e0085b76424aa4bbf..b7c996e77570bd527a0a92fd904276a40c44cd2b
@@@ -684,31 -665,20 +684,33 @@@ int ux500_msp_i2s_init_msp(struct platf
  {
        struct resource *res = NULL;
        struct i2s_controller *i2s_cont;
 +      struct device_node *np = pdev->dev.of_node;
        struct ux500_msp *msp;
  
 -      dev_dbg(&pdev->dev, "%s: Enter (name: %s, id: %d).\n", __func__,
 -              pdev->name, platform_data->id);
 -
        *msp_p = devm_kzalloc(&pdev->dev, sizeof(struct ux500_msp), GFP_KERNEL);
        msp = *msp_p;
+       if (!msp)
+               return -ENOMEM;
  
 +      if (np) {
 +              if (!platform_data) {
 +                      platform_data = devm_kzalloc(&pdev->dev,
 +                              sizeof(struct msp_i2s_platform_data), GFP_KERNEL);
 +                      if (!platform_data)
 +                              ret = -ENOMEM;
 +              }
 +      } else
 +              if (!platform_data)
 +                      ret = -EINVAL;
 +
 +      if (ret)
 +              goto err_res;
 +
 +      dev_dbg(&pdev->dev, "%s: Enter (name: %s, id: %d).\n", __func__,
 +              pdev->name, platform_data->id);
 +
        msp->id = platform_data->id;
        msp->dev = &pdev->dev;
 -      msp->plat_init = platform_data->msp_i2s_init;
 -      msp->plat_exit = platform_data->msp_i2s_exit;
        msp->dma_cfg_rx = platform_data->msp_i2s_dma_rx;
        msp->dma_cfg_tx = platform_data->msp_i2s_dma_tx;
  
Simple merge