soundwire: intel: simplify flow and use devm_ for DAI registration
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 19 Sep 2022 17:57:12 +0000 (01:57 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 20 Sep 2022 05:09:22 +0000 (10:39 +0530)
We already use devm_ for memory allocation but not for component/DAI
registration. The resource management can be based on devm_ in all
cases.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220919175721.354679-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.c

index 3bb29bc00d5a5e9bee6c5bfc1e8b7914b57b73ee..a6fe91f2d964fb3f61d183fb60a88a5a63f300c6 100644 (file)
@@ -1203,8 +1203,8 @@ static int intel_register_dai(struct sdw_intel *sdw)
        if (ret)
                return ret;
 
-       return snd_soc_register_component(cdns->dev, &dai_component,
-                                         dais, num_dai);
+       return devm_snd_soc_register_component(cdns->dev, &dai_component,
+                                              dais, num_dai);
 }
 
 static int sdw_master_read_intel_prop(struct sdw_bus *bus)
@@ -1489,7 +1489,6 @@ err_init:
 
 static void intel_link_remove(struct auxiliary_device *auxdev)
 {
-       struct device *dev = &auxdev->dev;
        struct sdw_cdns *cdns = auxiliary_get_drvdata(auxdev);
        struct sdw_intel *sdw = cdns_to_intel(cdns);
        struct sdw_bus *bus = &cdns->bus;
@@ -1502,7 +1501,6 @@ static void intel_link_remove(struct auxiliary_device *auxdev)
        if (!bus->prop.hw_disabled) {
                intel_debugfs_exit(sdw);
                sdw_cdns_enable_interrupt(cdns, false);
-               snd_soc_unregister_component(dev);
        }
        sdw_bus_master_delete(bus);
 }