]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
arm: tegra14x: bb: set INT_BB2AP_INT0 as wake source
authorVinayak Pane <vpane@nvidia.com>
Thu, 7 Mar 2013 00:19:37 +0000 (16:19 -0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:02:05 +0000 (13:02 -0700)
BBC interrupt BB2AP_INT0 is set as wake source. This
IRQ is used for IPC. Also, make this interrupt level-high
triggered.

Bug 1236920

Change-Id: If0dc5c44ae79a9d7275b6e66ac0e3b3a34874d4e
Signed-off-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-on: http://git-master/r/206866
Reviewed-by: Prashant Malani <pmalani@nvidia.com>
Tested-by: Prashant Malani <pmalani@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bo Yan <byan@nvidia.com>
arch/arm/mach-tegra/tegra_bb.c

index e776c8d20b35cb1947b3a984dd1334741e77ad4e..430f620e58f445f1ca4976378a53a23630d14c46 100644 (file)
@@ -954,12 +954,20 @@ static int tegra_bb_probe(struct platform_device *pdev)
 #ifndef CONFIG_TEGRA_BASEBAND_SIMU
        snprintf(bb->name, sizeof(bb->name), "tegra_bb%d", pdev->id);
 
-       ret = request_irq(bb->irq, tegra_bb_isr_handler, 0, bb->name, bb);
+       ret = request_irq(bb->irq, tegra_bb_isr_handler, IRQF_TRIGGER_HIGH,
+                               bb->name, bb);
        if (ret) {
                dev_err(&pdev->dev, "Could not register irq handler\n");
                kfree(bb);
                return -EAGAIN;
        }
+
+       ret = enable_irq_wake(bb->irq);
+       if (ret) {
+               dev_err(&pdev->dev, "set enable_irq_wake failed\n");
+               kfree(bb);
+               return -EAGAIN;
+       }
 #endif
        return 0;
 }