diff options
Diffstat (limited to 'sound/soc/codecs/dmic.c')
-rw-r--r-- | sound/soc/codecs/dmic.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/sound/soc/codecs/dmic.c b/sound/soc/codecs/dmic.c index cf83c423394d..32a8f71d51f1 100644 --- a/sound/soc/codecs/dmic.c +++ b/sound/soc/codecs/dmic.c @@ -71,16 +71,16 @@ static struct snd_soc_dai_driver dmic_dai = { .ops = &dmic_dai_ops, }; -static int dmic_codec_probe(struct snd_soc_codec *codec) +static int dmic_component_probe(struct snd_soc_component *component) { struct gpio_desc *dmic_en; - dmic_en = devm_gpiod_get_optional(codec->dev, + dmic_en = devm_gpiod_get_optional(component->dev, "dmicen", GPIOD_OUT_LOW); if (IS_ERR(dmic_en)) return PTR_ERR(dmic_en); - snd_soc_codec_set_drvdata(codec, dmic_en); + snd_soc_component_set_drvdata(component, dmic_en); return 0; } @@ -95,14 +95,16 @@ static const struct snd_soc_dapm_route intercon[] = { {"DMIC AIF", NULL, "DMic"}, }; -static const struct snd_soc_codec_driver soc_dmic = { - .probe = dmic_codec_probe, - .component_driver = { - .dapm_widgets = dmic_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(dmic_dapm_widgets), - .dapm_routes = intercon, - .num_dapm_routes = ARRAY_SIZE(intercon), - }, +static const struct snd_soc_component_driver soc_dmic = { + .probe = dmic_component_probe, + .dapm_widgets = dmic_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(dmic_dapm_widgets), + .dapm_routes = intercon, + .num_dapm_routes = ARRAY_SIZE(intercon), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int dmic_dev_probe(struct platform_device *pdev) @@ -129,16 +131,10 @@ static int dmic_dev_probe(struct platform_device *pdev) } } - return snd_soc_register_codec(&pdev->dev, + return devm_snd_soc_register_component(&pdev->dev, &soc_dmic, dai_drv, 1); } -static int dmic_dev_remove(struct platform_device *pdev) -{ - snd_soc_unregister_codec(&pdev->dev); - return 0; -} - MODULE_ALIAS("platform:dmic-codec"); static const struct of_device_id dmic_dev_match[] = { @@ -152,7 +148,6 @@ static struct platform_driver dmic_driver = { .of_match_table = dmic_dev_match, }, .probe = dmic_dev_probe, - .remove = dmic_dev_remove, }; module_platform_driver(dmic_driver); |