usb: dwc3: host: Fix broken XHCI host
Looks like we lost all changes related to commit9522def400
("usb: dwc3: core: cleanup IRQ resources") in host.c when Felipe's next branch was merged into Greg's next branch. Fixes215db94818
("Merge tag 'usb-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next") Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f76a28a69a
commit
322832f2f1
|
@ -23,7 +23,48 @@ int dwc3_host_init(struct dwc3 *dwc)
|
|||
{
|
||||
struct property_entry props[2];
|
||||
struct platform_device *xhci;
|
||||
int ret;
|
||||
int ret, irq;
|
||||
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)
|
||||
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");
|
||||
}
|
||||
|
||||
dwc->xhci_resources[1].start = irq;
|
||||
dwc->xhci_resources[1].end = irq;
|
||||
dwc->xhci_resources[1].flags = res->flags;
|
||||
dwc->xhci_resources[1].name = res->name;
|
||||
|
||||
xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO);
|
||||
if (!xhci) {
|
||||
|
|
Loading…
Reference in a new issue