From: Linus Torvalds Date: Mon, 8 Oct 2012 22:07:14 +0000 (+0900) Subject: Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound X-Git-Tag: v3.7-rc1~81 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5a246eab9a268f51ba8189ea5b098a1bfff200e;p=profile%2Fivi%2Fkernel-x86-ivi.git Merge tag 'sound-3.7' of git://git./linux/kernel/git/tiwai/sound 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 ... --- f5a246eab9a268f51ba8189ea5b098a1bfff200e diff --cc arch/arm/mach-davinci/davinci.h index a37fc44,8661b20..12d544b --- a/arch/arm/mach-davinci/davinci.h +++ b/arch/arm/mach-davinci/davinci.h @@@ -22,10 -22,11 +22,10 @@@ #include #include #include - - #include + #include - -#include +#include #include + #include #include #include diff --cc arch/arm/mach-davinci/dm355.c index adbde33,e47a3f0..a255434 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c @@@ -26,8 -26,7 +26,7 @@@ #include #include #include - #include -#include +#include #include #include "davinci.h" diff --cc arch/arm/mach-davinci/dm365.c index 719e22f,f473745..b680c83 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c @@@ -29,9 -29,8 +29,8 @@@ #include #include #include - #include -#include -#include +#include +#include #include #include "davinci.h" diff --cc arch/arm/mach-davinci/include/mach/da8xx.h index 33e78ae,c74a6ab..c9ee723 --- a/arch/arm/mach-davinci/include/mach/da8xx.h +++ b/arch/arm/mach-davinci/include/mach/da8xx.h @@@ -19,12 -20,11 +20,11 @@@ #include #include - #include -#include -#include -#include #include -#include +#include +#include +#include +#include extern void __iomem *da8xx_syscfg0_base; extern void __iomem *da8xx_syscfg1_base; diff --cc arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 821d6aa,5627229..141756f --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c @@@ -32,6 -32,8 +32,7 @@@ #include #include #include -#include + #include #include #include #include @@@ -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; diff --cc arch/arm/mach-omap2/board-zoom-peripherals.c index 6bcc107,a7d3b04..67f8540 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@@ -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; diff --cc arch/arm/mach-omap2/mcbsp.c index 7d47407,d57a357..37f8f94 --- a/arch/arm/mach-omap2/mcbsp.c +++ b/arch/arm/mach-omap2/mcbsp.c @@@ -15,11 -15,14 +15,12 @@@ #include #include #include + #include #include #include +#include -#include #include -#include -#include #include #include diff --cc drivers/dma/ep93xx_dma.c index 64256f6,493735b..bcfde40 --- a/drivers/dma/ep93xx_dma.c +++ b/drivers/dma/ep93xx_dma.c @@@ -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 diff --cc sound/soc/omap/mcbsp.c index a681a9a,bc06175..afb8d4f --- a/sound/soc/omap/mcbsp.c +++ b/sound/soc/omap/mcbsp.c @@@ -24,10 -24,9 +24,11 @@@ #include #include #include + #include -#include +#include + +#include #include "mcbsp.h" diff --cc sound/soc/omap/omap-mcbsp.c index 1b186277,fef2f59..a6ee157 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c @@@ -32,9 -34,7 +34,8 @@@ #include #include -#include +#include - #include +#include #include "mcbsp.h" #include "omap-mcbsp.h" #include "omap-pcm.h" diff --cc sound/soc/omap/omap-pcm.c index b309941,a2636f6..340874e --- a/sound/soc/omap/omap-pcm.c +++ b/sound/soc/omap/omap-pcm.c @@@ -28,10 -29,9 +29,10 @@@ #include #include #include + #include #include +#include - #include #include "omap-pcm.h" static const struct snd_pcm_hardware omap_pcm_hardware = {