*/
        ret = devm_snd_dmaengine_pcm_register(dev, NULL, 0);
        if (ret) {
+               pm_runtime_disable(dev);
                dev_err(dev, "failed to pcm register\n");
                return ret;
        }
        ret = devm_snd_soc_register_component(dev, &fsl_xcvr_comp,
                                              &fsl_xcvr_dai, 1);
        if (ret) {
+               pm_runtime_disable(dev);
                dev_err(dev, "failed to register component %s\n",
                        fsl_xcvr_comp.name);
        }
        return ret;
 }
 
+static int fsl_xcvr_remove(struct platform_device *pdev)
+{
+       pm_runtime_disable(&pdev->dev);
+       return 0;
+}
+
 static __maybe_unused int fsl_xcvr_runtime_suspend(struct device *dev)
 {
        struct fsl_xcvr *xcvr = dev_get_drvdata(dev);
                .pm = &fsl_xcvr_pm_ops,
                .of_match_table = fsl_xcvr_dt_ids,
        },
+       .remove = fsl_xcvr_remove,
 };
 module_platform_driver(fsl_xcvr_driver);