[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230403071651.919027-1-Vijendar.Mukunda@amd.com>
Date: Mon, 3 Apr 2023 12:46:41 +0530
From: Vijendar Mukunda <Vijendar.Mukunda@....com>
To: <broonie@...nel.org>
CC: <alsa-devel@...a-project.org>, <Basavaraj.Hiregoudar@....com>,
<Sunil-kumar.Dommati@....com>,
Vijendar Mukunda <Vijendar.Mukunda@....com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <lgirdwood@...il.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
"Bard Liao" <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Daniel Baluta <daniel.baluta@....com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
"Ajit Kumar Pandey" <AjitKumar.Pandey@....com>,
Rander Wang <rander.wang@...el.com>,
"V sujith kumar Reddy" <Vsujithkumar.Reddy@....com>,
Zheng Bin <zhengbin13@...wei.com>,
"moderated list:SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS"
<sound-open-firmware@...a-project.org>,
open list <linux-kernel@...r.kernel.org>
Subject: [PATCH 1/6] ASoC: SOF: amd: remove unused code
During initial SOF driver bring up on AMD platforms, only DMIC
support was added. As of today, we have a complete SOF solution for
I2S endpoints along with DMIC endpoint.
This code is no longer required.
Remove unused code from RMB and RN platform ACP PCI driver.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@....com>
---
sound/soc/sof/amd/pci-rmb.c | 70 +------------------------------------
sound/soc/sof/amd/pci-rn.c | 70 +------------------------------------
2 files changed, 2 insertions(+), 138 deletions(-)
diff --git a/sound/soc/sof/amd/pci-rmb.c b/sound/soc/sof/amd/pci-rmb.c
index 4e1de462b431..d0a56e8f09c0 100644
--- a/sound/soc/sof/amd/pci-rmb.c
+++ b/sound/soc/sof/amd/pci-rmb.c
@@ -27,22 +27,6 @@
#define ACP6x_REG_END 0x125C000
static struct platform_device *dmic_dev;
-static struct platform_device *pdev;
-
-static const struct resource rembrandt_res[] = {
- {
- .start = 0,
- .end = ACP6x_REG_END - ACP6x_REG_START,
- .name = "acp_mem",
- .flags = IORESOURCE_MEM,
- },
- {
- .start = 0,
- .end = 0,
- .name = "acp_dai_irq",
- .flags = IORESOURCE_IRQ,
- },
-};
static const struct sof_amd_acp_desc rembrandt_chip_info = {
.rev = 6,
@@ -83,11 +67,8 @@ static const struct sof_dev_desc rembrandt_desc = {
static int acp_pci_rmb_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
{
- struct platform_device_info pdevinfo;
struct device *dev = &pci->dev;
- const struct resource *res_i2s;
- struct resource *res;
- unsigned int flag, i, addr;
+ unsigned int flag;
int ret;
flag = snd_amd_acp_find_config(pci);
@@ -104,53 +85,6 @@ static int acp_pci_rmb_probe(struct pci_dev *pci, const struct pci_device_id *pc
sof_pci_remove(pci);
return PTR_ERR(dmic_dev);
}
-
- /* Register platform device only if flag set to FLAG_AMD_SOF_ONLY_DMIC */
- if (flag != FLAG_AMD_SOF_ONLY_DMIC)
- return 0;
-
- addr = pci_resource_start(pci, 0);
- res = devm_kzalloc(&pci->dev, sizeof(struct resource) * ARRAY_SIZE(rembrandt_res),
- GFP_KERNEL);
- if (!res) {
- platform_device_unregister(dmic_dev);
- sof_pci_remove(pci);
- return -ENOMEM;
- }
-
- res_i2s = rembrandt_res;
- for (i = 0; i < ARRAY_SIZE(rembrandt_res); i++, res_i2s++) {
- res[i].name = res_i2s->name;
- res[i].flags = res_i2s->flags;
- res[i].start = addr + res_i2s->start;
- res[i].end = addr + res_i2s->end;
- if (res_i2s->flags == IORESOURCE_IRQ) {
- res[i].start = pci->irq;
- res[i].end = res[i].start;
- }
- }
-
- memset(&pdevinfo, 0, sizeof(pdevinfo));
-
- /*
- * We have common PCI driver probe for ACP device but we have to support I2S without SOF
- * for some distributions. Register platform device that will be used to support non dsp
- * ACP's audio ends points on some machines.
- */
- pdevinfo.name = "acp_asoc_rembrandt";
- pdevinfo.id = 0;
- pdevinfo.parent = &pci->dev;
- pdevinfo.num_res = ARRAY_SIZE(rembrandt_res);
- pdevinfo.res = &res[0];
-
- pdev = platform_device_register_full(&pdevinfo);
- if (IS_ERR(pdev)) {
- dev_err(&pci->dev, "cannot register %s device\n", pdevinfo.name);
- platform_device_unregister(dmic_dev);
- sof_pci_remove(pci);
- ret = PTR_ERR(pdev);
- }
-
return ret;
};
@@ -158,8 +92,6 @@ static void acp_pci_rmb_remove(struct pci_dev *pci)
{
if (dmic_dev)
platform_device_unregister(dmic_dev);
- if (pdev)
- platform_device_unregister(pdev);
sof_pci_remove(pci);
}
diff --git a/sound/soc/sof/amd/pci-rn.c b/sound/soc/sof/amd/pci-rn.c
index fca40b261671..faab4c33a24d 100644
--- a/sound/soc/sof/amd/pci-rn.c
+++ b/sound/soc/sof/amd/pci-rn.c
@@ -27,22 +27,6 @@
#define ACP3x_REG_END 0x125C000
static struct platform_device *dmic_dev;
-static struct platform_device *pdev;
-
-static const struct resource renoir_res[] = {
- {
- .start = 0,
- .end = ACP3x_REG_END - ACP3x_REG_START,
- .name = "acp_mem",
- .flags = IORESOURCE_MEM,
- },
- {
- .start = 0,
- .end = 0,
- .name = "acp_dai_irq",
- .flags = IORESOURCE_IRQ,
- },
-};
static const struct sof_amd_acp_desc renoir_chip_info = {
.rev = 3,
@@ -83,11 +67,8 @@ static const struct sof_dev_desc renoir_desc = {
static int acp_pci_rn_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
{
- struct platform_device_info pdevinfo;
struct device *dev = &pci->dev;
- const struct resource *res_i2s;
- struct resource *res;
- unsigned int flag, i, addr;
+ unsigned int flag;
int ret;
flag = snd_amd_acp_find_config(pci);
@@ -104,53 +85,6 @@ static int acp_pci_rn_probe(struct pci_dev *pci, const struct pci_device_id *pci
sof_pci_remove(pci);
return PTR_ERR(dmic_dev);
}
-
- /* Register platform device only if flag set to FLAG_AMD_SOF_ONLY_DMIC */
- if (flag != FLAG_AMD_SOF_ONLY_DMIC)
- return 0;
-
- addr = pci_resource_start(pci, 0);
- res = devm_kzalloc(&pci->dev, sizeof(struct resource) * ARRAY_SIZE(renoir_res), GFP_KERNEL);
- if (!res) {
- sof_pci_remove(pci);
- platform_device_unregister(dmic_dev);
- return -ENOMEM;
- }
-
- res_i2s = renoir_res;
- for (i = 0; i < ARRAY_SIZE(renoir_res); i++, res_i2s++) {
- res[i].name = res_i2s->name;
- res[i].flags = res_i2s->flags;
- res[i].start = addr + res_i2s->start;
- res[i].end = addr + res_i2s->end;
- if (res_i2s->flags == IORESOURCE_IRQ) {
- res[i].start = pci->irq;
- res[i].end = res[i].start;
- }
- }
-
- memset(&pdevinfo, 0, sizeof(pdevinfo));
-
- /*
- * We have common PCI driver probe for ACP device but we have to support I2S without SOF
- * for some distributions. Register platform device that will be used to support non dsp
- * ACP's audio ends points on some machines.
- */
-
- pdevinfo.name = "acp_asoc_renoir";
- pdevinfo.id = 0;
- pdevinfo.parent = &pci->dev;
- pdevinfo.num_res = ARRAY_SIZE(renoir_res);
- pdevinfo.res = &res[0];
-
- pdev = platform_device_register_full(&pdevinfo);
- if (IS_ERR(pdev)) {
- dev_err(&pci->dev, "cannot register %s device\n", pdevinfo.name);
- sof_pci_remove(pci);
- platform_device_unregister(dmic_dev);
- ret = PTR_ERR(pdev);
- }
-
return ret;
};
@@ -158,8 +92,6 @@ static void acp_pci_rn_remove(struct pci_dev *pci)
{
if (dmic_dev)
platform_device_unregister(dmic_dev);
- if (pdev)
- platform_device_unregister(pdev);
return sof_pci_remove(pci);
}
--
2.34.1
Powered by blists - more mailing lists