ASoC: Intel: boards: use software node API in Atom boards
[platform/kernel/linux-starfive.git] / sound / soc / intel / boards / bytcr_rt5640.c
index 41fd56d..fecccff 100644 (file)
@@ -974,7 +974,9 @@ static int byt_rt5640_add_codec_device_props(struct device *i2c_dev,
                                             struct byt_rt5640_private *priv)
 {
        struct property_entry props[MAX_NO_PROPS] = {};
+       struct fwnode_handle *fwnode;
        int cnt = 0;
+       int ret;
 
        switch (BYT_RT5640_MAP(byt_rt5640_quirk)) {
        case BYT_RT5640_DMIC1_MAP:
@@ -1014,7 +1016,17 @@ static int byt_rt5640_add_codec_device_props(struct device *i2c_dev,
        if (byt_rt5640_quirk & BYT_RT5640_JD_NOT_INV)
                props[cnt++] = PROPERTY_ENTRY_BOOL("realtek,jack-detect-not-inverted");
 
-       return device_add_properties(i2c_dev, props);
+       fwnode = fwnode_create_software_node(props, NULL);
+       if (IS_ERR(fwnode)) {
+               /* put_device() is handled in caller */
+               return PTR_ERR(fwnode);
+       }
+
+       ret = device_add_software_node(i2c_dev, to_software_node(fwnode));
+
+       fwnode_handle_put(fwnode);
+
+       return ret;
 }
 
 static int byt_rt5640_init(struct snd_soc_pcm_runtime *runtime)
@@ -1584,7 +1596,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
        return ret_val;
 
 err:
-       device_remove_properties(priv->codec_dev);
+       device_remove_software_node(priv->codec_dev);
 err_device:
        put_device(priv->codec_dev);
        return ret_val;
@@ -1595,7 +1607,7 @@ static int snd_byt_rt5640_mc_remove(struct platform_device *pdev)
        struct snd_soc_card *card = platform_get_drvdata(pdev);
        struct byt_rt5640_private *priv = snd_soc_card_get_drvdata(card);
 
-       device_remove_properties(priv->codec_dev);
+       device_remove_software_node(priv->codec_dev);
        put_device(priv->codec_dev);
        return 0;
 }