diff --git a/sound/soc/codecs/gtm601.c b/sound/soc/codecs/gtm601.c index 926b1a4e37d46825a4dd3741bb7865b794245a3f..c11ed60ccefb6cab880c9c12760176e6eae30f24 100644 --- a/sound/soc/codecs/gtm601.c +++ b/sound/soc/codecs/gtm601.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include @@ -51,25 +50,21 @@ static struct snd_soc_dai_driver gtm601_dai = { }, }; -static const struct snd_soc_codec_driver soc_codec_dev_gtm601 = { - .component_driver = { - .dapm_widgets = gtm601_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(gtm601_dapm_widgets), - .dapm_routes = gtm601_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(gtm601_dapm_routes), - }, +static const struct snd_soc_component_driver soc_component_dev_gtm601 = { + .dapm_widgets = gtm601_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(gtm601_dapm_widgets), + .dapm_routes = gtm601_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(gtm601_dapm_routes), + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int gtm601_platform_probe(struct platform_device *pdev) { - return snd_soc_register_codec(&pdev->dev, - &soc_codec_dev_gtm601, >m601_dai, 1); -} - -static int gtm601_platform_remove(struct platform_device *pdev) -{ - snd_soc_unregister_codec(&pdev->dev); - return 0; + return devm_snd_soc_register_component(&pdev->dev, + &soc_component_dev_gtm601, >m601_dai, 1); } #if defined(CONFIG_OF) @@ -86,7 +81,6 @@ static struct platform_driver gtm601_codec_driver = { .of_match_table = of_match_ptr(gtm601_codec_of_match), }, .probe = gtm601_platform_probe, - .remove = gtm601_platform_remove, }; module_platform_driver(gtm601_codec_driver);