diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 16:37:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 16:37:37 -0400 |
commit | dbf7b5915b39bfff548e4c6a3a753fc291a60e25 (patch) | |
tree | 55c457a22aa869d2ab558317877138369ae5f9bb /sound/soc/samsung | |
parent | d14b7a419a664cd7c1c585c9e7fffee9e9051d53 (diff) | |
parent | c1b623d9e4117d18d244e9b7fb30d2c27aeaf074 (diff) |
Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound update from Takashi Iwai:
"This is a fairly quiet release in all sound area. Only a little bit
of changes in the core side while most of changes are seen in the
drivers.
HD-audio:
- A few new codec additions for Nvidia, Realtek and VIA
- Intel Haswell audio support
- Support for "phantom" jacks for consistent jack reporting
- Major clean-ups in HDMI/DP driver codes
- A workaround for inverted digital-mic pins with Realtek codecs
- Removal of beep_mode=2 option
ASoC:
- Added the ability to add and remove DAPM paths dynamically, mostly
for reparenting on clock changes
- New machine drivers for Marvell Brownstone, ST-Ericsson Ux500
reference platform and ttc-dkp
- New CPU drivers for Blackfin BF6xx SPORTs in I2S mode, Marvell MMP,
Synopsis Designware I2S controllers, and SPEAr DMA and S/PDIF
- New CODEC drivers for Dialog DA732x, ST STA529, ST-Ericsson AB8500,
TI Isabelle and Wolfson Microelectronics WM5102 and WM5110
- DAPM fixes for the recent locking changes
- Fix for _PRE and _POST widgets (which have been broken for a few
releases now)
- A couple of minor driver updates
Misc
- Conversion to new dev_pm_ops in platform and PCI drivers
- LTC support and some fixes in PCXHR driver
- A few fixes and PM support for ISA OPti9xx and WSS cards
- Some TLV code cleanup
- Move driver-specific headers from include/sound to local dirs"
* tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (212 commits)
ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvements
ALSA: hda - add dock support for Thinkpad X230 Tablet
ALSA: hda - Turn on PIN_OUT from hdmi playback prepare.
ASoC imx-audmux: add MX31_AUDMUX_PORT7_SSI_PINS_7 define
ASoC: littlemill: Add userspace control of the WM1250 I/O
ASoC: wm8994: Update micdet for irqdomain conversion
ALSA: hda - make sure alc268 does not OOPS on codec parse
ALSA: hda - Add support for Realtek ALC282
ALSA: hda - Fix index number conflicts of phantom jacks
ALSA: opti9xx: Fix section mismatch by PM support
ALSA: snd-opti9xx: Implement suspend/resume
ALSA: hda - Add new GPU codec ID to snd-hda
ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCH
ALSA: hda - add Haswell HDMI codec id
ALSA: hda - Add DeviceID for Haswell HDA
ALSA: wss_lib: Fix resume on Yamaha OPL3-SAx
ALSA: wss_lib: fix suspend/resume
ALSA: es1938: replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE
ALSA: tlv: add DECLARE_TLV_DB_RANGE()
ALSA: tlv: add DECLARE_TLV_CONTAINER()
...
Diffstat (limited to 'sound/soc/samsung')
-rw-r--r-- | sound/soc/samsung/littlemill.c | 7 | ||||
-rw-r--r-- | sound/soc/samsung/s3c2412-i2s.c | 10 | ||||
-rw-r--r-- | sound/soc/samsung/s3c24xx-i2s.c | 10 | ||||
-rw-r--r-- | sound/soc/samsung/smdk_wm8994.c | 36 |
4 files changed, 36 insertions, 27 deletions
diff --git a/sound/soc/samsung/littlemill.c b/sound/soc/samsung/littlemill.c index c82c646b8a08..ee52c8a00779 100644 --- a/sound/soc/samsung/littlemill.c +++ b/sound/soc/samsung/littlemill.c | |||
@@ -211,6 +211,11 @@ static int bbclk_ev(struct snd_soc_dapm_widget *w, | |||
211 | return 0; | 211 | return 0; |
212 | } | 212 | } |
213 | 213 | ||
214 | static const struct snd_kcontrol_new controls[] = { | ||
215 | SOC_DAPM_PIN_SWITCH("WM1250 Input"), | ||
216 | SOC_DAPM_PIN_SWITCH("WM1250 Output"), | ||
217 | }; | ||
218 | |||
214 | static struct snd_soc_dapm_widget widgets[] = { | 219 | static struct snd_soc_dapm_widget widgets[] = { |
215 | SND_SOC_DAPM_HP("Headphone", NULL), | 220 | SND_SOC_DAPM_HP("Headphone", NULL), |
216 | 221 | ||
@@ -282,6 +287,8 @@ static struct snd_soc_card littlemill = { | |||
282 | .set_bias_level = littlemill_set_bias_level, | 287 | .set_bias_level = littlemill_set_bias_level, |
283 | .set_bias_level_post = littlemill_set_bias_level_post, | 288 | .set_bias_level_post = littlemill_set_bias_level_post, |
284 | 289 | ||
290 | .controls = controls, | ||
291 | .num_controls = ARRAY_SIZE(controls), | ||
285 | .dapm_widgets = widgets, | 292 | .dapm_widgets = widgets, |
286 | .num_dapm_widgets = ARRAY_SIZE(widgets), | 293 | .num_dapm_widgets = ARRAY_SIZE(widgets), |
287 | .dapm_routes = audio_paths, | 294 | .dapm_routes = audio_paths, |
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c index 79fbeea99d46..ac7701b3c5dc 100644 --- a/sound/soc/samsung/s3c2412-i2s.c +++ b/sound/soc/samsung/s3c2412-i2s.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <sound/soc.h> | 25 | #include <sound/soc.h> |
26 | #include <sound/pcm_params.h> | 26 | #include <sound/pcm_params.h> |
27 | 27 | ||
28 | #include <mach/regs-gpio.h> | ||
29 | #include <mach/dma.h> | 28 | #include <mach/dma.h> |
30 | 29 | ||
31 | #include "dma.h" | 30 | #include "dma.h" |
@@ -83,12 +82,9 @@ static int s3c2412_i2s_probe(struct snd_soc_dai *dai) | |||
83 | 82 | ||
84 | s3c2412_i2s.iis_cclk = s3c2412_i2s.iis_pclk; | 83 | s3c2412_i2s.iis_cclk = s3c2412_i2s.iis_pclk; |
85 | 84 | ||
86 | /* Configure the I2S pins in correct mode */ | 85 | /* Configure the I2S pins (GPE0...GPE4) in correct mode */ |
87 | s3c2410_gpio_cfgpin(S3C2410_GPE0, S3C2410_GPE0_I2SLRCK); | 86 | s3c_gpio_cfgall_range(S3C2410_GPE(0), 5, S3C_GPIO_SFN(2), |
88 | s3c2410_gpio_cfgpin(S3C2410_GPE1, S3C2410_GPE1_I2SSCLK); | 87 | S3C_GPIO_PULL_NONE); |
89 | s3c2410_gpio_cfgpin(S3C2410_GPE2, S3C2410_GPE2_CDCLK); | ||
90 | s3c2410_gpio_cfgpin(S3C2410_GPE3, S3C2410_GPE3_I2SSDI); | ||
91 | s3c2410_gpio_cfgpin(S3C2410_GPE4, S3C2410_GPE4_I2SSDO); | ||
92 | 88 | ||
93 | return 0; | 89 | return 0; |
94 | } | 90 | } |
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c index c4aa4d412fbf..0aae3a3883dc 100644 --- a/sound/soc/samsung/s3c24xx-i2s.c +++ b/sound/soc/samsung/s3c24xx-i2s.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <sound/soc.h> | 23 | #include <sound/soc.h> |
24 | #include <sound/pcm_params.h> | 24 | #include <sound/pcm_params.h> |
25 | 25 | ||
26 | #include <mach/regs-gpio.h> | ||
27 | #include <mach/dma.h> | 26 | #include <mach/dma.h> |
28 | #include <plat/regs-iis.h> | 27 | #include <plat/regs-iis.h> |
29 | 28 | ||
@@ -391,12 +390,9 @@ static int s3c24xx_i2s_probe(struct snd_soc_dai *dai) | |||
391 | } | 390 | } |
392 | clk_enable(s3c24xx_i2s.iis_clk); | 391 | clk_enable(s3c24xx_i2s.iis_clk); |
393 | 392 | ||
394 | /* Configure the I2S pins in correct mode */ | 393 | /* Configure the I2S pins (GPE0...GPE4) in correct mode */ |
395 | s3c2410_gpio_cfgpin(S3C2410_GPE0, S3C2410_GPE0_I2SLRCK); | 394 | s3c_gpio_cfgall_range(S3C2410_GPE(0), 5, S3C_GPIO_SFN(2), |
396 | s3c2410_gpio_cfgpin(S3C2410_GPE1, S3C2410_GPE1_I2SSCLK); | 395 | S3C_GPIO_PULL_NONE); |
397 | s3c2410_gpio_cfgpin(S3C2410_GPE2, S3C2410_GPE2_CDCLK); | ||
398 | s3c2410_gpio_cfgpin(S3C2410_GPE3, S3C2410_GPE3_I2SSDI); | ||
399 | s3c2410_gpio_cfgpin(S3C2410_GPE4, S3C2410_GPE4_I2SSDO); | ||
400 | 396 | ||
401 | writel(S3C2410_IISCON_IISEN, s3c24xx_i2s.regs + S3C2410_IISCON); | 397 | writel(S3C2410_IISCON_IISEN, s3c24xx_i2s.regs + S3C2410_IISCON); |
402 | 398 | ||
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c index 8eb309f23d18..48dd4dd9ee08 100644 --- a/sound/soc/samsung/smdk_wm8994.c +++ b/sound/soc/samsung/smdk_wm8994.c | |||
@@ -149,31 +149,41 @@ static struct snd_soc_card smdk = { | |||
149 | .num_links = ARRAY_SIZE(smdk_dai), | 149 | .num_links = ARRAY_SIZE(smdk_dai), |
150 | }; | 150 | }; |
151 | 151 | ||
152 | static struct platform_device *smdk_snd_device; | ||
153 | 152 | ||
154 | static int __init smdk_audio_init(void) | 153 | static int __devinit smdk_audio_probe(struct platform_device *pdev) |
155 | { | 154 | { |
156 | int ret; | 155 | int ret; |
156 | struct snd_soc_card *card = &smdk; | ||
157 | 157 | ||
158 | smdk_snd_device = platform_device_alloc("soc-audio", -1); | 158 | card->dev = &pdev->dev; |
159 | if (!smdk_snd_device) | 159 | ret = snd_soc_register_card(card); |
160 | return -ENOMEM; | ||
161 | 160 | ||
162 | platform_set_drvdata(smdk_snd_device, &smdk); | ||
163 | |||
164 | ret = platform_device_add(smdk_snd_device); | ||
165 | if (ret) | 161 | if (ret) |
166 | platform_device_put(smdk_snd_device); | 162 | dev_err(&pdev->dev, "snd_soc_register_card() failed:%d\n", ret); |
167 | 163 | ||
168 | return ret; | 164 | return ret; |
169 | } | 165 | } |
170 | module_init(smdk_audio_init); | ||
171 | 166 | ||
172 | static void __exit smdk_audio_exit(void) | 167 | static int __devexit smdk_audio_remove(struct platform_device *pdev) |
173 | { | 168 | { |
174 | platform_device_unregister(smdk_snd_device); | 169 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
170 | |||
171 | snd_soc_unregister_card(card); | ||
172 | |||
173 | return 0; | ||
175 | } | 174 | } |
176 | module_exit(smdk_audio_exit); | 175 | |
176 | static struct platform_driver smdk_audio_driver = { | ||
177 | .driver = { | ||
178 | .name = "smdk-audio", | ||
179 | .owner = THIS_MODULE, | ||
180 | }, | ||
181 | .probe = smdk_audio_probe, | ||
182 | .remove = __devexit_p(smdk_audio_remove), | ||
183 | }; | ||
184 | |||
185 | module_platform_driver(smdk_audio_driver); | ||
177 | 186 | ||
178 | MODULE_DESCRIPTION("ALSA SoC SMDK WM8994"); | 187 | MODULE_DESCRIPTION("ALSA SoC SMDK WM8994"); |
179 | MODULE_LICENSE("GPL"); | 188 | MODULE_LICENSE("GPL"); |
189 | MODULE_ALIAS("platform:smdk-audio"); | ||