Browse Source

soft_3rdpart: wave511: Fixed the issue that getting IRQ failed in linux 6.1

platform_get_resource(pdev, IORESOURCE_IRQ, 0) will failed in linux 6.1,
using platform_get_irq instead.

Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
(cherry picked from commit 97393e6b3dcb3ee339c90dbb24a9233993b91ae0)
Samin Guo 1 year ago
parent
commit
2ad9ab6e35
1 changed files with 4 additions and 3 deletions
  1. 4 3
      wave511/code/vdi/linux/driver/vdec.c

+ 4 - 3
wave511/code/vdi/linux/driver/vdec.c

@@ -1555,6 +1555,7 @@ static int vpu_probe(struct platform_device *pdev)
 	struct resource res_cma;
 	struct device_node *node;
 #endif
+	int irq = -1;
     DPRINTK("[VPUDRV] vpu_probe\n");
 	if(pdev){
 		vpu_dev = &pdev->dev;
@@ -1627,9 +1628,9 @@ static int vpu_probe(struct platform_device *pdev)
 #ifdef VPU_SUPPORT_ISR
 #ifdef VPU_SUPPORT_PLATFORM_DRIVER_REGISTER
     if (pdev)
-        res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-    if (res) {/* if platform driver is implemented */
-        s_vpu_irq = res->start;
+        irq = platform_get_irq(pdev, 0);
+    if (irq >= 0) {/* if platform driver is implemented */
+        s_vpu_irq = irq;
         DPRINTK("[VPUDRV] : vpu irq number get from platform driver irq=0x%x\n", s_vpu_irq);
     } else {
         DPRINTK("[VPUDRV] : vpu irq number get from defined value irq=0x%x\n", s_vpu_irq);