OSDN Git Service

ASoC: vc4_hdmi: replace codec to component
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 29 Jan 2018 04:35:04 +0000 (04:35 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 12 Feb 2018 10:01:09 +0000 (10:01 +0000)
Now we can replace Codec to Component. Let's do it.

Note:
xxx_codec_xxx() -> xxx_component_xxx()
.idle_bias_off = 0 -> .idle_bias_on = 1
.ignore_pmdown_time = 0 -> .use_pmdown_time = 1
- -> .endianness = 1
- -> .non_legacy_dai_naming = 1

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/gpu/drm/vc4/vc4_hdmi.c

index 984501e..b92c660 100644 (file)
@@ -995,15 +995,17 @@ static const struct snd_soc_dapm_route vc4_hdmi_audio_routes[] = {
        { "TX", NULL, "Playback" },
 };
 
-static const struct snd_soc_codec_driver vc4_hdmi_audio_codec_drv = {
-       .component_driver = {
-               .controls = vc4_hdmi_audio_controls,
-               .num_controls = ARRAY_SIZE(vc4_hdmi_audio_controls),
-               .dapm_widgets = vc4_hdmi_audio_widgets,
-               .num_dapm_widgets = ARRAY_SIZE(vc4_hdmi_audio_widgets),
-               .dapm_routes = vc4_hdmi_audio_routes,
-               .num_dapm_routes = ARRAY_SIZE(vc4_hdmi_audio_routes),
-       },
+static const struct snd_soc_component_driver vc4_hdmi_audio_component_drv = {
+       .controls               = vc4_hdmi_audio_controls,
+       .num_controls           = ARRAY_SIZE(vc4_hdmi_audio_controls),
+       .dapm_widgets           = vc4_hdmi_audio_widgets,
+       .num_dapm_widgets       = ARRAY_SIZE(vc4_hdmi_audio_widgets),
+       .dapm_routes            = vc4_hdmi_audio_routes,
+       .num_dapm_routes        = ARRAY_SIZE(vc4_hdmi_audio_routes),
+       .idle_bias_on           = 1,
+       .use_pmdown_time        = 1,
+       .endianness             = 1,
+       .non_legacy_dai_naming  = 1,
 };
 
 static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = {
@@ -1101,11 +1103,11 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *hdmi)
                return ret;
        }
 
-       /* register codec and codec dai */
-       ret = snd_soc_register_codec(dev, &vc4_hdmi_audio_codec_drv,
+       /* register component and codec dai */
+       ret = devm_snd_soc_register_component(dev, &vc4_hdmi_audio_component_drv,
                                     &vc4_hdmi_audio_codec_dai_drv, 1);
        if (ret) {
-               dev_err(dev, "Could not register codec: %d\n", ret);
+               dev_err(dev, "Could not register component: %d\n", ret);
                return ret;
        }
 
@@ -1130,29 +1132,11 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *hdmi)
         */
        snd_soc_card_set_drvdata(card, hdmi);
        ret = devm_snd_soc_register_card(dev, card);
-       if (ret) {
+       if (ret)
                dev_err(dev, "Could not register sound card: %d\n", ret);
-               goto unregister_codec;
-       }
-
-       return 0;
-
-unregister_codec:
-       snd_soc_unregister_codec(dev);
 
        return ret;
-}
-
-static void vc4_hdmi_audio_cleanup(struct vc4_hdmi *hdmi)
-{
-       struct device *dev = &hdmi->pdev->dev;
 
-       /*
-        * If drvdata is not set this means the audio card was not
-        * registered, just skip codec unregistration in this case.
-        */
-       if (dev_get_drvdata(dev))
-               snd_soc_unregister_codec(dev);
 }
 
 #ifdef CONFIG_DRM_VC4_HDMI_CEC
@@ -1480,7 +1464,6 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master,
        struct vc4_dev *vc4 = drm->dev_private;
        struct vc4_hdmi *hdmi = vc4->hdmi;
 
-       vc4_hdmi_audio_cleanup(hdmi);
        cec_unregister_adapter(hdmi->cec_adap);
        vc4_hdmi_connector_destroy(hdmi->connector);
        vc4_hdmi_encoder_destroy(hdmi->encoder);