From ffdc1ff5c6bf0e01b173f08f4b9e650fc269ad01 Mon Sep 17 00:00:00 2001 From: Viswanath L Date: Thu, 21 Sep 2023 10:33:29 +0000 Subject: [PATCH] nvadsp: Use platform_get_irq to get IRQ num Use platform_get_irq() instead of platform_get_resource() to read IRQ num from DT, as platform_get_resource() is not recommended to read IRQ early in the boot. Bug 4164138 Bug 3682950 Change-Id: I117e608e6ae798aa2932a3a41f7942a741d3ff9c Signed-off-by: Viswanath L Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2983098 Reviewed-by: Sharad Gupta GVS: Gerrit_Virtual_Submit --- drivers/platform/tegra/nvadsp/dev.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/platform/tegra/nvadsp/dev.c b/drivers/platform/tegra/nvadsp/dev.c index 22e000dd..9f0c82f3 100644 --- a/drivers/platform/tegra/nvadsp/dev.c +++ b/drivers/platform/tegra/nvadsp/dev.c @@ -347,10 +347,9 @@ static int __init nvadsp_probe(struct platform_device *pdev) void __iomem *base = NULL; uint32_t aram_addr; uint32_t aram_size; - int dram_iter; - int irq_iter; + int dram_iter, irq_iter, iter; + int irq_num; int ret = 0; - int iter; dev_info(dev, "in probe()...\n"); @@ -441,14 +440,14 @@ static int __init nvadsp_probe(struct platform_device *pdev) } for (irq_iter = 0; irq_iter < NVADSP_VIRQ_MAX; irq_iter++) { - res = platform_get_resource(pdev, IORESOURCE_IRQ, irq_iter); - if (!res) { + irq_num = platform_get_irq(pdev, irq_iter); + if (irq_num < 0) { dev_err(dev, "Failed to get irq number for index %d\n", irq_iter); ret = -EINVAL; goto out; } - drv_data->agic_irqs[irq_iter] = res->start; + drv_data->agic_irqs[irq_iter] = irq_num; } nvadsp_drv_data = drv_data;