diff options
author | Dave Airlie <airlied@redhat.com> | 2017-11-02 12:40:41 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-11-02 12:40:41 +1000 |
commit | 7a88cbd8d65d622c00bd76ba4ae1d893b292c91c (patch) | |
tree | 826df7ac42ca13c33828d0142046186b91df686b /drivers/usb/host/xhci-plat.c | |
parent | 0a4334c9e5405f836c46375c6e279cfdda7da6b5 (diff) | |
parent | 0b07194bb55ed836c2cc7c22e866b87a14681984 (diff) | |
download | talos-op-linux-7a88cbd8d65d622c00bd76ba4ae1d893b292c91c.tar.gz talos-op-linux-7a88cbd8d65d622c00bd76ba4ae1d893b292c91c.zip |
Backmerge tag 'v4.14-rc7' into drm-next
Linux 4.14-rc7
Requested by Ben Skeggs for nouveau to avoid major conflicts,
and things were getting a bit conflicty already, esp around amdgpu
reverts.
Diffstat (limited to 'drivers/usb/host/xhci-plat.c')
-rw-r--r-- | drivers/usb/host/xhci-plat.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 163bafde709f..1cb6eaef4ae1 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -178,14 +178,18 @@ static int xhci_plat_probe(struct platform_device *pdev) * 2. xhci_plat is child of a device from firmware (dwc3-plat) * 3. xhci_plat is grandchild of a pci device (dwc3-pci) */ - sysdev = &pdev->dev; - if (sysdev->parent && !sysdev->of_node && sysdev->parent->of_node) - sysdev = sysdev->parent; + for (sysdev = &pdev->dev; sysdev; sysdev = sysdev->parent) { + if (is_of_node(sysdev->fwnode) || + is_acpi_device_node(sysdev->fwnode)) + break; #ifdef CONFIG_PCI - else if (sysdev->parent && sysdev->parent->parent && - sysdev->parent->parent->bus == &pci_bus_type) - sysdev = sysdev->parent->parent; + else if (sysdev->bus == &pci_bus_type) + break; #endif + } + + if (!sysdev) + sysdev = &pdev->dev; /* Try to set 64-bit DMA first */ if (WARN_ON(!sysdev->dma_mask)) |