diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-05 10:42:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-05 10:42:07 -0700 |
commit | e02d37bf55a9a36f22427fd6dd733fe104d817b6 (patch) | |
tree | f22c545ac3eec3e919db1c5e423d83aa7f3536be /sound/soc/sunxi/sun8i-codec.c | |
parent | 652ede37cec0bf7313927ecf4cebf0e79a0619f2 (diff) | |
parent | a820ccbe21e8ce8e86c39cd1d3bc8c7d1cbb949b (diff) |
Merge tag 'sound-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"This became a large update. The changes are scattered widely, and the
majority of them are attributed to ASoC componentization. The gitk
output made me dizzy, but it's slightly better than London tube.
OK, below are some highlights:
- Continued hardening works in ALSA PCM core; most of the existing
syzkaller reports should have been covered.
- USB-audio got the initial USB Audio Class 3 support, as well as
UAC2 jack detection support and more DSD-device support.
- ASoC componentization: finally each individual driver was converted
to components framework, which is more future-proof for further
works. Most of conversations were systematic.
- Lots of fixes for Intel Baytrail / Cherrytrail devices with Realtek
codecs, typically tablets and small PCs.
- Fixes / cleanups for Samsung Odroid systems
- Cleanups in Freescale SSI driver
- New ASoC drivers:
* AKM AK4458 and AK5558 codecs
* A few AMD based machine drivers
* Intel Kabylake machine drivers
* Maxim MAX9759 codec
* Motorola CPCAP codec
* Socionext Uniphier SoCs
* TI PCM1789 and TDA7419 codecs
- Retirement of Blackfin drivers along with architecture removal"
* tag 'sound-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (497 commits)
ALSA: pcm: Fix UAF at PCM release via PCM timer access
ALSA: usb-audio: silence a static checker warning
ASoC: tscs42xx: Remove owner assignment from i2c_driver
ASoC: mediatek: remove "simple-mfd" in the example
ASoC: cpcap: replace codec to component
ASoC: Intel: bytcr_rt5651: don't use codec anymore
ASoC: amd: don't use codec anymore
ALSA: usb-audio: fix memory leak on cval
ALSA: pcm: Fix mutex unbalance in OSS emulation ioctls
ASoC: topology: Fix kcontrol name string handling
ALSA: aloop: Mark paused device as inactive
ALSA: usb-audio: update clock valid control
ALSA: usb-audio: UAC2 jack detection
ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
ALSA: pcm: Avoid potential races between OSS ioctls and read/write
ALSA: usb-audio: Integrate native DSD support for ITF-USB based DACs.
ALSA: usb-audio: FIX native DSD support for TEAC UD-501 DAC
ALSA: usb-audio: Add native DSD support for Luxman DA-06
ALSA: usb-audio: fix uac control query argument
ASoC: nau8824: recover system clock when device changes
...
Diffstat (limited to 'sound/soc/sunxi/sun8i-codec.c')
-rw-r--r-- | sound/soc/sunxi/sun8i-codec.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/sound/soc/sunxi/sun8i-codec.c b/sound/soc/sunxi/sun8i-codec.c index 7a15df924316..fb37dd927e33 100644 --- a/sound/soc/sunxi/sun8i-codec.c +++ b/sound/soc/sunxi/sun8i-codec.c @@ -184,7 +184,7 @@ static int sun8i_codec_get_hw_rate(struct snd_pcm_hw_params *params) static int sun8i_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) { - struct sun8i_codec *scodec = snd_soc_codec_get_drvdata(dai->codec); + struct sun8i_codec *scodec = snd_soc_component_get_drvdata(dai->component); u32 value; /* clock masters */ @@ -304,7 +304,7 @@ static int sun8i_codec_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct sun8i_codec *scodec = snd_soc_codec_get_drvdata(dai->codec); + struct sun8i_codec *scodec = snd_soc_component_get_drvdata(dai->component); int sample_rate; u8 bclk_div; @@ -500,13 +500,15 @@ static struct snd_soc_dai_driver sun8i_codec_dai = { .ops = &sun8i_codec_dai_ops, }; -static const struct snd_soc_codec_driver sun8i_soc_codec = { - .component_driver = { - .dapm_widgets = sun8i_codec_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(sun8i_codec_dapm_widgets), - .dapm_routes = sun8i_codec_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(sun8i_codec_dapm_routes), - }, +static const struct snd_soc_component_driver sun8i_soc_component = { + .dapm_widgets = sun8i_codec_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(sun8i_codec_dapm_widgets), + .dapm_routes = sun8i_codec_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(sun8i_codec_dapm_routes), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static const struct regmap_config sun8i_codec_regmap_config = { @@ -566,7 +568,7 @@ static int sun8i_codec_probe(struct platform_device *pdev) goto err_pm_disable; } - ret = snd_soc_register_codec(&pdev->dev, &sun8i_soc_codec, + ret = devm_snd_soc_register_component(&pdev->dev, &sun8i_soc_component, &sun8i_codec_dai, 1); if (ret) { dev_err(&pdev->dev, "Failed to register codec\n"); @@ -594,7 +596,6 @@ static int sun8i_codec_remove(struct platform_device *pdev) if (!pm_runtime_status_suspended(&pdev->dev)) sun8i_codec_runtime_suspend(&pdev->dev); - snd_soc_unregister_codec(&pdev->dev); clk_disable_unprepare(scodec->clk_module); clk_disable_unprepare(scodec->clk_bus); |