[PATCH] ASoC: amd: acp: pass audio_drv_data to dma_irq_handler
From: Rosen Penev
Date: Tue Aug 11 2026 - 00:19:43 EST
The IRQ handler only needs the audio_drv_data, so pass it directly
as the request_irq argument instead of the device pointer and a
dev_get_drvdata() lookup.
Assisted-by: opencode:deepseek-v4-flash-free
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
sound/soc/amd/acp-pcm-dma.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c
index e99588458ed8..60d5799c26f0 100644
--- a/sound/soc/amd/acp-pcm-dma.c
+++ b/sound/soc/amd/acp-pcm-dma.c
@@ -692,12 +692,10 @@ static irqreturn_t dma_irq_handler(int irq, void *arg)
{
u16 dscr_idx;
u32 intr_flag, ext_intr_status;
- struct audio_drv_data *irq_data;
+ struct audio_drv_data *irq_data = arg;
void __iomem *acp_mmio;
- struct device *dev = arg;
bool valid_irq = false;
- irq_data = dev_get_drvdata(dev);
acp_mmio = irq_data->acp_mmio;
ext_intr_status = acp_reg_read(acp_mmio, mmACP_EXTERNAL_INTR_STAT);
@@ -1295,7 +1293,7 @@ static int acp_audio_probe(struct platform_device *pdev)
return irq;
status = devm_request_irq(&pdev->dev, irq, dma_irq_handler,
- 0, "ACP_IRQ", &pdev->dev);
+ 0, "ACP_IRQ", audio_drv_data);
if (status) {
dev_err(&pdev->dev, "ACP IRQ request failed\n");
return status;
--
2.55.0