aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/soundwire
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2022-09-20 01:57:13 +0800
committerVinod Koul <vkoul@kernel.org>2022-09-20 10:39:23 +0530
commitaa425707c3c8aacfbc37b88a68d89b909b6291c3 (patch)
treed138aee34ff49fd6d7f430a699419543d6d4d77c /drivers/soundwire
parentsoundwire: intel: simplify flow and use devm_ for DAI registration (diff)
downloadlinux-dev-aa425707c3c8aacfbc37b88a68d89b909b6291c3.tar.xz
linux-dev-aa425707c3c8aacfbc37b88a68d89b909b6291c3.zip
soundwire: intel: move DAI registration and debugfs init earlier
These two steps can and should be done before starting up the clock and the bus operation. This is a first step before re-grouping functionality in well-defined callbacks. 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-4-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire')
-rw-r--r--drivers/soundwire/intel.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index a6fe91f2d964..d7852cc7dd96 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1393,6 +1393,15 @@ int intel_link_startup(struct auxiliary_device *auxdev)
intel_pdi_ch_update(sdw);
+ /* Register DAIs */
+ ret = intel_register_dai(sdw);
+ if (ret) {
+ dev_err(dev, "DAI registration failed: %d\n", ret);
+ goto err_init;
+ }
+
+ intel_debugfs_init(sdw);
+
ret = sdw_cdns_enable_interrupt(cdns, true);
if (ret < 0) {
dev_err(dev, "cannot enable interrupts\n");
@@ -1428,15 +1437,6 @@ int intel_link_startup(struct auxiliary_device *auxdev)
sdw_cdns_check_self_clearing_bits(cdns, __func__,
true, INTEL_MASTER_RESET_ITERATIONS);
- /* Register DAIs */
- ret = intel_register_dai(sdw);
- if (ret) {
- dev_err(dev, "DAI registration failed: %d\n", ret);
- goto err_interrupt;
- }
-
- intel_debugfs_init(sdw);
-
/* Enable runtime PM */
if (!(link_flags & SDW_INTEL_MASTER_DISABLE_PM_RUNTIME)) {
pm_runtime_set_autosuspend_delay(dev,