Re: [PATCH 03/14] ASoC: amd: acp: Refactor dmic-codec platform device creation

From: potturu venkata prasad
Date: Mon Mar 10 2025 - 08:11:55 EST



On 3/10/25 17:00, Amadeusz Sławiński wrote:
On 3/10/2025 11:45 AM, Venkata Prasad Potturu wrote:
Refactor dmic-codec platform driver creation using helper function.

Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@xxxxxxx>
---
  sound/soc/amd/acp/acp-pci.c | 49 +++++++++++++++++++++++++------------
  sound/soc/amd/acp/amd.h     |  1 +
  2 files changed, 35 insertions(+), 15 deletions(-)


...

      addr = pci_resource_start(pci, 0);
      chip->base = devm_ioremap(&pci->dev, addr, pci_resource_len(pci, 0));
      if (!chip->base) {
          ret = -ENOMEM;
-        goto unregister_dmic_dev;
+        goto release_regions;
      }
        chip->acp_hw_ops_init(chip);
      ret = acp_hw_init(chip);
      if (ret)
-        goto unregister_dmic_dev;
+        goto release_regions;

...

@@ -168,8 +187,8 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id
      pm_runtime_allow(&pci->dev);
      return ret;
  -unregister_dmic_dev:
-    platform_device_unregister(dmic_dev);
+de_init:
+    chip->acp_hw_ops->acp_deinit(chip);

On init you call acp_hw_init(), but here you call ->acp_deinit() directly instead of acp_hw_deinit()?
Sorry, over looked will fix it in v2 patch series.

  release_regions:
      pci_release_regions(pci);
  disable_pci: