diff options
| author | 2021-07-15 17:07:55 +0800 | |
|---|---|---|
| committer | 2021-07-27 15:58:37 +0200 | |
| commit | fa6f59e28c6197150d9aa94f0d617b59090691e5 (patch) | |
| tree | e656b1bf62da3113797b3b5ba65b21932d633116 /drivers/usb/mtu3/mtu3_core.c | |
| parent | usb: mtu3: add new helpers for host suspend/resume (diff) | |
| download | wireguard-linux-fa6f59e28c6197150d9aa94f0d617b59090691e5.tar.xz wireguard-linux-fa6f59e28c6197150d9aa94f0d617b59090691e5.zip | |
usb: mtu3: support runtime PM for host mode
Use a dedicated wakeup irq for runtime suspend/resume, and interrupts
names are provided if using wakeup irq, this patch only support host
mode.
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1626340078-29111-11-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/mtu3/mtu3_core.c')
| -rw-r--r-- | drivers/usb/mtu3/mtu3_core.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/usb/mtu3/mtu3_core.c b/drivers/usb/mtu3/mtu3_core.c index 562f4357831e..6d23acb4fffc 100644 --- a/drivers/usb/mtu3/mtu3_core.c +++ b/drivers/usb/mtu3/mtu3_core.c @@ -888,9 +888,16 @@ int ssusb_gadget_init(struct ssusb_mtk *ssusb) if (mtu == NULL) return -ENOMEM; - mtu->irq = platform_get_irq(pdev, 0); - if (mtu->irq < 0) - return mtu->irq; + mtu->irq = platform_get_irq_byname_optional(pdev, "device"); + if (mtu->irq < 0) { + if (mtu->irq == -EPROBE_DEFER) + return mtu->irq; + + /* for backward compatibility */ + mtu->irq = platform_get_irq(pdev, 0); + if (mtu->irq < 0) + return mtu->irq; + } dev_info(dev, "irq %d\n", mtu->irq); mtu->mac_base = devm_platform_ioremap_resource_byname(pdev, "mac"); |
