mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 02:23:16 +00:00
usb: dwc3: host: extract dwc3_host_get_irq()
Cleanup only, no functional changes. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
6db3812e09
commit
6d729a55cc
@ -19,6 +19,39 @@
|
||||
|
||||
#include "core.h"
|
||||
|
||||
static int dwc3_host_get_irq(struct dwc3 *dwc)
|
||||
{
|
||||
struct platform_device *dwc3_pdev = to_platform_device(dwc->dev);
|
||||
int irq;
|
||||
|
||||
irq = platform_get_irq_byname(dwc3_pdev, "host");
|
||||
if (irq > 0)
|
||||
goto out;
|
||||
|
||||
if (irq == -EPROBE_DEFER)
|
||||
goto out;
|
||||
|
||||
irq = platform_get_irq_byname(dwc3_pdev, "dwc_usb3");
|
||||
if (irq > 0)
|
||||
goto out;
|
||||
|
||||
if (irq == -EPROBE_DEFER)
|
||||
goto out;
|
||||
|
||||
irq = platform_get_irq(dwc3_pdev, 0);
|
||||
if (irq > 0)
|
||||
goto out;
|
||||
|
||||
if (irq != -EPROBE_DEFER)
|
||||
dev_err(dwc->dev, "missing host IRQ\n");
|
||||
|
||||
if (!irq)
|
||||
irq = -EINVAL;
|
||||
|
||||
out:
|
||||
return irq;
|
||||
}
|
||||
|
||||
int dwc3_host_init(struct dwc3 *dwc)
|
||||
{
|
||||
struct property_entry props[2];
|
||||
@ -27,39 +60,18 @@ int dwc3_host_init(struct dwc3 *dwc)
|
||||
struct resource *res;
|
||||
struct platform_device *dwc3_pdev = to_platform_device(dwc->dev);
|
||||
|
||||
irq = platform_get_irq_byname(dwc3_pdev, "host");
|
||||
if (irq == -EPROBE_DEFER)
|
||||
irq = dwc3_host_get_irq(dwc);
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
if (irq <= 0) {
|
||||
irq = platform_get_irq_byname(dwc3_pdev, "dwc_usb3");
|
||||
if (irq == -EPROBE_DEFER)
|
||||
return irq;
|
||||
|
||||
if (irq <= 0) {
|
||||
irq = platform_get_irq(dwc3_pdev, 0);
|
||||
if (irq <= 0) {
|
||||
if (irq != -EPROBE_DEFER) {
|
||||
dev_err(dwc->dev,
|
||||
"missing host IRQ\n");
|
||||
}
|
||||
if (!irq)
|
||||
irq = -EINVAL;
|
||||
return irq;
|
||||
} else {
|
||||
res = platform_get_resource(dwc3_pdev,
|
||||
IORESOURCE_IRQ, 0);
|
||||
}
|
||||
} else {
|
||||
res = platform_get_resource_byname(dwc3_pdev,
|
||||
IORESOURCE_IRQ,
|
||||
"dwc_usb3");
|
||||
}
|
||||
|
||||
} else {
|
||||
res = platform_get_resource_byname(dwc3_pdev, IORESOURCE_IRQ, "host");
|
||||
if (!res)
|
||||
res = platform_get_resource_byname(dwc3_pdev, IORESOURCE_IRQ,
|
||||
"host");
|
||||
}
|
||||
"dwc_usb3");
|
||||
if (!res)
|
||||
res = platform_get_resource(dwc3_pdev, IORESOURCE_IRQ, 0);
|
||||
if (!res)
|
||||
return -ENOMEM;
|
||||
|
||||
dwc->xhci_resources[1].start = irq;
|
||||
dwc->xhci_resources[1].end = irq;
|
||||
|
Loading…
Reference in New Issue
Block a user