drivers/usb/host/ehci-fsl: Fix interrupt setup in host mode.
In patcha1a2b7125e
(Drop static setup of IRQ resource from DT core) we stopped platform_get_resource() from returning the IRQ, as all drivers were supposed to have switched to platform_get_irq() Unfortunately the Freescale EHCI driver in host mode got missed. Fix it. Fixes:a1a2b7125e
("of/platform: Drop static setup of IRQ resource from DT core") Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de> Suggested-by: Rob Herring <robh@kernel.org> Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Darren Stevens <darren@stevens-zone.net> Link: https://lore.kernel.org/r/20220702220355.63b36fb8@Cyrus.lan Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
3d0dc53902
Коммит
bb160ee61c
|
@ -76,14 +76,9 @@ static int fsl_ehci_drv_probe(struct platform_device *pdev)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
|
||||
if (!res) {
|
||||
dev_err(&pdev->dev,
|
||||
"Found HC with no IRQ. Check %s setup!\n",
|
||||
dev_name(&pdev->dev));
|
||||
return -ENODEV;
|
||||
}
|
||||
irq = res->start;
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
hcd = __usb_create_hcd(&fsl_ehci_hc_driver, pdev->dev.parent,
|
||||
&pdev->dev, dev_name(&pdev->dev), NULL);
|
||||
|
|
|
@ -112,6 +112,9 @@ static struct platform_device *fsl_usb2_device_register(
|
|||
goto error;
|
||||
}
|
||||
|
||||
pdev->dev.of_node = ofdev->dev.of_node;
|
||||
pdev->dev.of_node_reused = true;
|
||||
|
||||
retval = platform_device_add(pdev);
|
||||
if (retval)
|
||||
goto error;
|
||||
|
|
Загрузка…
Ссылка в новой задаче