static int rt711_add_codec_device_props(struct device *sdw_dev)
 {
        struct property_entry props[MAX_NO_PROPS] = {};
+       struct fwnode_handle *fwnode;
+       int ret;
 
        if (!SOF_RT711_JDSRC(sof_sdw_quirk))
                return 0;
        props[0] = PROPERTY_ENTRY_U32("realtek,jd-src", SOF_RT711_JDSRC(sof_sdw_quirk));
 
-       return device_add_properties(sdw_dev, props);
+       fwnode = fwnode_create_software_node(props, NULL);
+       if (IS_ERR(fwnode))
+               return PTR_ERR(fwnode);
+
+       ret = device_add_software_node(sdw_dev, to_software_node(fwnode));
+
+       fwnode_handle_put(fwnode);
+
+       return ret;
 }
 
 static const struct snd_soc_dapm_widget rt711_widgets[] = {
 {
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
 
-       device_remove_properties(ctx->headset_codec_dev);
+       device_remove_software_node(ctx->headset_codec_dev);
        put_device(ctx->headset_codec_dev);
 
        return 0;
 
 static int rt711_sdca_add_codec_device_props(struct device *sdw_dev)
 {
        struct property_entry props[MAX_NO_PROPS] = {};
+       struct fwnode_handle *fwnode;
+       int ret;
 
        if (!SOF_RT711_JDSRC(sof_sdw_quirk))
                return 0;
 
        props[0] = PROPERTY_ENTRY_U32("realtek,jd-src", SOF_RT711_JDSRC(sof_sdw_quirk));
 
-       return device_add_properties(sdw_dev, props);
+       fwnode = fwnode_create_software_node(props, NULL);
+       if (IS_ERR(fwnode))
+               return PTR_ERR(fwnode);
+
+       ret = device_add_software_node(sdw_dev, to_software_node(fwnode));
+
+       fwnode_handle_put(fwnode);
+
+       return ret;
 }
 
 static const struct snd_soc_dapm_widget rt711_sdca_widgets[] = {
 {
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
 
-       device_remove_properties(ctx->headset_codec_dev);
+       device_remove_software_node(ctx->headset_codec_dev);
        put_device(ctx->headset_codec_dev);
 
        return 0;