diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-19 21:07:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-19 21:07:17 -0500 |
commit | 20e471fd34d1f79bed65fdc1bf4ad090f70472a5 (patch) | |
tree | 7e74e4ca71a90c6b39392dacab07e26feedb8185 /sound/soc | |
parent | ed55635e2e4df3169f21ae4047004b7235de956e (diff) | |
parent | d70a1b9893f820fdbcdffac408c909c50f2e6b43 (diff) |
Merge tag 'sound-fix-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"Here are a few fixes that have landed after the previous pull request.
All are driver specific fixes including:
- error/int value fixes in OXFW,
- Intel Skylake HD-audio HDMI codec support,
- Additional HD-audio Realtek codecs and AD1986A codec fixes/quirks,
- a few more DSD support and a quirk for Arcam rPAC in usb-audio,
- a typo fix for Scarlett 6i6,
- fixes for new ASIHPI firmware,
- ASoC Exynos7 cleanups,
- Intel ACPI support, and
- a fix for PCM512 register cache sync"
* tag 'sound-fix-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits)
ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
ALSA: hda/realtek - New codec support for ALC298
ALSA: asihpi: update to HPI version 4.14
ALSA: asihpi: increase tuner pad cache size
ALSA: asihpi: relax firmware version check
ALSA: usb-audio: Fix Scarlett 6i6 initialization typo
ALSA: hda - Add quirk for Packard Bell EasyNote MX65
ALSA: usb-audio: add native DSD support for Matrix Audio DACs
ALSA: hda/realtek - New codec support for ALC256
ALSA: hda/realtek - Add new Dell desktop for ALC3234 headset mode
ASoC: Intel: fix possible acpi enumeration panic
ALSA: hda/hdmi - apply Haswell fix-ups to Skylake display codec
ASoC: Intel: fix return value check in sst_acpi_probe()
ALSA: hda - Make add_stereo_mix_input flag tristate
ALSA: hda - Create capture source ctls when stereo mix input is added
ALSA: hda - Fix typos in snd_hda_get_int_hint() kerneldoc comments
ALSA: hda - add codec ID for Skylake display audio codec
ALSA: oxfw: some signedness bugs
ALSA: oxfw: fix detect_loud_models() return value
ASoC: rt5677: add REGMAP_I2C and REGMAP_IRQ dependency
...
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/atmel/atmel_ssc_dai.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/Kconfig | 2 | ||||
-rw-r--r-- | sound/soc/codecs/pcm512x-i2c.c | 7 | ||||
-rw-r--r-- | sound/soc/codecs/rt5645.c | 4 | ||||
-rw-r--r-- | sound/soc/intel/sst/sst_acpi.c | 10 | ||||
-rw-r--r-- | sound/soc/samsung/i2s.c | 2 |
6 files changed, 20 insertions, 7 deletions
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index b1cc2a4a7fc0..99ff35e2a25d 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c | |||
@@ -267,7 +267,7 @@ static void atmel_ssc_shutdown(struct snd_pcm_substream *substream, | |||
267 | if (!ssc_p->dir_mask) { | 267 | if (!ssc_p->dir_mask) { |
268 | if (ssc_p->initialized) { | 268 | if (ssc_p->initialized) { |
269 | /* Shutdown the SSC clock. */ | 269 | /* Shutdown the SSC clock. */ |
270 | pr_debug("atmel_ssc_dau: Stopping clock\n"); | 270 | pr_debug("atmel_ssc_dai: Stopping clock\n"); |
271 | clk_disable(ssc_p->ssc->clk); | 271 | clk_disable(ssc_p->ssc->clk); |
272 | 272 | ||
273 | free_irq(ssc_p->ssc->irq, ssc_p); | 273 | free_irq(ssc_p->ssc->irq, ssc_p); |
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 883c5778b309..8349f982a586 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig | |||
@@ -520,6 +520,8 @@ config SND_SOC_RT5670 | |||
520 | 520 | ||
521 | config SND_SOC_RT5677 | 521 | config SND_SOC_RT5677 |
522 | tristate | 522 | tristate |
523 | select REGMAP_I2C | ||
524 | select REGMAP_IRQ | ||
523 | 525 | ||
524 | config SND_SOC_RT5677_SPI | 526 | config SND_SOC_RT5677_SPI |
525 | tristate | 527 | tristate |
diff --git a/sound/soc/codecs/pcm512x-i2c.c b/sound/soc/codecs/pcm512x-i2c.c index 4d62230bd378..d0547fa275fc 100644 --- a/sound/soc/codecs/pcm512x-i2c.c +++ b/sound/soc/codecs/pcm512x-i2c.c | |||
@@ -24,8 +24,13 @@ static int pcm512x_i2c_probe(struct i2c_client *i2c, | |||
24 | const struct i2c_device_id *id) | 24 | const struct i2c_device_id *id) |
25 | { | 25 | { |
26 | struct regmap *regmap; | 26 | struct regmap *regmap; |
27 | struct regmap_config config = pcm512x_regmap; | ||
27 | 28 | ||
28 | regmap = devm_regmap_init_i2c(i2c, &pcm512x_regmap); | 29 | /* msb needs to be set to enable auto-increment of addresses */ |
30 | config.read_flag_mask = 0x80; | ||
31 | config.write_flag_mask = 0x80; | ||
32 | |||
33 | regmap = devm_regmap_init_i2c(i2c, &config); | ||
29 | if (IS_ERR(regmap)) | 34 | if (IS_ERR(regmap)) |
30 | return PTR_ERR(regmap); | 35 | return PTR_ERR(regmap); |
31 | 36 | ||
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index a7789a8726e3..27141e2df878 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c | |||
@@ -2209,6 +2209,10 @@ static int rt5645_jack_detect(struct snd_soc_codec *codec) | |||
2209 | int gpio_state, jack_type = 0; | 2209 | int gpio_state, jack_type = 0; |
2210 | unsigned int val; | 2210 | unsigned int val; |
2211 | 2211 | ||
2212 | if (!gpio_is_valid(rt5645->pdata.hp_det_gpio)) { | ||
2213 | dev_err(codec->dev, "invalid gpio\n"); | ||
2214 | return -EINVAL; | ||
2215 | } | ||
2212 | gpio_state = gpio_get_value(rt5645->pdata.hp_det_gpio); | 2216 | gpio_state = gpio_get_value(rt5645->pdata.hp_det_gpio); |
2213 | 2217 | ||
2214 | dev_dbg(codec->dev, "gpio = %d(%d)\n", rt5645->pdata.hp_det_gpio, | 2218 | dev_dbg(codec->dev, "gpio = %d(%d)\n", rt5645->pdata.hp_det_gpio, |
diff --git a/sound/soc/intel/sst/sst_acpi.c b/sound/soc/intel/sst/sst_acpi.c index 31124aa4434e..3abc29e8a928 100644 --- a/sound/soc/intel/sst/sst_acpi.c +++ b/sound/soc/intel/sst/sst_acpi.c | |||
@@ -43,7 +43,7 @@ | |||
43 | #include "sst.h" | 43 | #include "sst.h" |
44 | 44 | ||
45 | struct sst_machines { | 45 | struct sst_machines { |
46 | char codec_id[32]; | 46 | char *codec_id; |
47 | char board[32]; | 47 | char board[32]; |
48 | char machine[32]; | 48 | char machine[32]; |
49 | void (*machine_quirk)(void); | 49 | void (*machine_quirk)(void); |
@@ -277,16 +277,16 @@ int sst_acpi_probe(struct platform_device *pdev) | |||
277 | dev_dbg(dev, "ACPI device id: %x\n", dev_id); | 277 | dev_dbg(dev, "ACPI device id: %x\n", dev_id); |
278 | 278 | ||
279 | plat_dev = platform_device_register_data(dev, mach->pdata->platform, -1, NULL, 0); | 279 | plat_dev = platform_device_register_data(dev, mach->pdata->platform, -1, NULL, 0); |
280 | if (plat_dev == NULL) { | 280 | if (IS_ERR(plat_dev)) { |
281 | dev_err(dev, "Failed to create machine device: %s\n", mach->pdata->platform); | 281 | dev_err(dev, "Failed to create machine device: %s\n", mach->pdata->platform); |
282 | return -ENODEV; | 282 | return PTR_ERR(plat_dev); |
283 | } | 283 | } |
284 | 284 | ||
285 | /* Create platform device for sst machine driver */ | 285 | /* Create platform device for sst machine driver */ |
286 | mdev = platform_device_register_data(dev, mach->machine, -1, NULL, 0); | 286 | mdev = platform_device_register_data(dev, mach->machine, -1, NULL, 0); |
287 | if (mdev == NULL) { | 287 | if (IS_ERR(mdev)) { |
288 | dev_err(dev, "Failed to create machine device: %s\n", mach->machine); | 288 | dev_err(dev, "Failed to create machine device: %s\n", mach->machine); |
289 | return -ENODEV; | 289 | return PTR_ERR(mdev); |
290 | } | 290 | } |
291 | 291 | ||
292 | ret = sst_alloc_drv_context(&ctx, dev, dev_id); | 292 | ret = sst_alloc_drv_context(&ctx, dev, dev_id); |
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index b1a7c5bce4a1..b5a80c528d86 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
@@ -1261,6 +1261,8 @@ static int samsung_i2s_probe(struct platform_device *pdev) | |||
1261 | ret = -ENOMEM; | 1261 | ret = -ENOMEM; |
1262 | goto err; | 1262 | goto err; |
1263 | } | 1263 | } |
1264 | |||
1265 | sec_dai->variant_regs = pri_dai->variant_regs; | ||
1264 | sec_dai->dma_playback.dma_addr = regs_base + I2STXDS; | 1266 | sec_dai->dma_playback.dma_addr = regs_base + I2STXDS; |
1265 | sec_dai->dma_playback.ch_name = "tx-sec"; | 1267 | sec_dai->dma_playback.ch_name = "tx-sec"; |
1266 | 1268 | ||