ASoC: zx_aud96p22: replace codec to component
[sfrench/cifs-2.6.git] / sound / soc / codecs / zx_aud96p22.c
index ca1932d137385f054cb53cf69056940a6284792c..7a2d6eaf1786492956d6870d04b90122e609aa23 100644 (file)
@@ -57,8 +57,8 @@ struct aud96p22_priv {
 static int aud96p22_adc_event(struct snd_soc_dapm_widget *w,
                              struct snd_kcontrol *kcontrol, int event)
 {
-       struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
-       struct aud96p22_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
+       struct aud96p22_priv *priv = snd_soc_component_get_drvdata(component);
        struct regmap *regmap = priv->regmap;
 
        if (event != SND_SOC_DAPM_POST_PMU)
@@ -74,8 +74,8 @@ static int aud96p22_adc_event(struct snd_soc_dapm_widget *w,
 static int aud96p22_dac_event(struct snd_soc_dapm_widget *w,
                              struct snd_kcontrol *kcontrol, int event)
 {
-       struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
-       struct aud96p22_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
+       struct aud96p22_priv *priv = snd_soc_component_get_drvdata(component);
        struct regmap *regmap = priv->regmap;
 
        if (event != SND_SOC_DAPM_POST_PMU)
@@ -261,20 +261,22 @@ static const struct snd_soc_dapm_route aud96p22_dapm_routes[] = {
        { "LINEOUTMN", NULL, "LD2" },
 };
 
-static const struct snd_soc_codec_driver aud96p22_driver = {
-       .component_driver = {
-               .controls = aud96p22_snd_controls,
-               .num_controls = ARRAY_SIZE(aud96p22_snd_controls),
-               .dapm_widgets = aud96p22_dapm_widgets,
-               .num_dapm_widgets = ARRAY_SIZE(aud96p22_dapm_widgets),
-               .dapm_routes = aud96p22_dapm_routes,
-               .num_dapm_routes = ARRAY_SIZE(aud96p22_dapm_routes),
-       },
+static const struct snd_soc_component_driver aud96p22_driver = {
+       .controls               = aud96p22_snd_controls,
+       .num_controls           = ARRAY_SIZE(aud96p22_snd_controls),
+       .dapm_widgets           = aud96p22_dapm_widgets,
+       .num_dapm_widgets       = ARRAY_SIZE(aud96p22_dapm_widgets),
+       .dapm_routes            = aud96p22_dapm_routes,
+       .num_dapm_routes        = ARRAY_SIZE(aud96p22_dapm_routes),
+       .idle_bias_on           = 1,
+       .use_pmdown_time        = 1,
+       .endianness             = 1,
+       .non_legacy_dai_naming  = 1,
 };
 
 static int aud96p22_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 {
-       struct aud96p22_priv *priv = snd_soc_codec_get_drvdata(dai->codec);
+       struct aud96p22_priv *priv = snd_soc_component_get_drvdata(dai->component);
        struct regmap *regmap = priv->regmap;
        unsigned int val;
 
@@ -367,9 +369,9 @@ static int aud96p22_i2c_probe(struct i2c_client *i2c,
 
        i2c_set_clientdata(i2c, priv);
 
-       ret = snd_soc_register_codec(dev, &aud96p22_driver, &aud96p22_dai, 1);
+       ret = devm_snd_soc_register_component(dev, &aud96p22_driver, &aud96p22_dai, 1);
        if (ret) {
-               dev_err(dev, "failed to register codec: %d\n", ret);
+               dev_err(dev, "failed to register component: %d\n", ret);
                return ret;
        }
 
@@ -378,7 +380,6 @@ static int aud96p22_i2c_probe(struct i2c_client *i2c,
 
 static int aud96p22_i2c_remove(struct i2c_client *i2c)
 {
-       snd_soc_unregister_codec(&i2c->dev);
        return 0;
 }