linux/drivers/usb
Paul Kocialkowski 68ef236274 usb: chipidea: Grab the (legacy) USB PHY by phandle first
According to the chipidea driver bindings, the USB PHY is specified via
the "phys" phandle node. However, this only takes effect for USB PHYs
that use the common PHY framework. For legacy USB PHYs, a simple lookup
based on the USB PHY type is done instead.

This does not play out well when more than one USB PHY is registered,
since the first registered PHY matching the type will always be
returned regardless of what the driver was bound to.

Fix this by looking up the PHY based on the "phys" phandle node.
Although generic PHYs are rather matched by their "phys-name" and not
the "phys" phandle directly, there is no helper for similar lookup on
legacy PHYs and it's probably not worth the effort to add it.

When no legacy USB PHY is found by phandle, fallback to grabbing any
registered USB2 PHY. This ensures backward compatibility if some users
were actually relying on this mechanism.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27 15:51:02 +01:00
..
atm USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
c67x00 USB: add SPDX identifiers to all remaining Makefiles 2017-11-07 15:53:48 +01:00
chipidea usb: chipidea: Grab the (legacy) USB PHY by phandle first 2019-02-27 15:51:02 +01:00
class cdc-wdm: pass return value of recover_from_urb_loss 2019-02-19 14:41:38 +01:00
common usb: roles: Add a description for the class to Kconfig 2018-12-17 14:07:59 +01:00
core usb: core: add option of only authorizing internal devices 2019-02-22 09:27:55 +01:00
dwc2 usb: dwc2: use struct_size() in kzalloc() 2019-02-19 14:41:38 +01:00
dwc3 usb: dwc3: drd: Defer probe if extcon device is not found 2019-02-19 15:08:07 +01:00
early drivers: usb: early: clean up indentation, remove extraneous tabs 2018-11-23 16:13:14 +01:00
gadget USB: changes for v5.1 merge window 2019-02-15 09:08:57 +01:00
host usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on INTEL_SUNRISEPOINT_LP_XHCI 2019-02-21 10:54:22 +01:00
image USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
isp1760 USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
misc USB: changes for v5.1 merge window 2019-02-15 09:08:57 +01:00
mon USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
mtu3 USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
musb USB: musb: mark expected switch fall-through 2019-02-13 19:40:20 +01:00
phy USB: changes for v5.1 merge window 2019-02-15 09:08:57 +01:00
renesas_usbhs USB: renesas_usbhs: fix spelling mistake "doens't" -> "doesn't" 2019-02-19 14:41:38 +01:00
roles usb: roles: Find the muxes by also matching against the device node 2019-02-14 10:52:25 +01:00
serial USB-serial fixes for 5.1-rc1 2019-02-21 17:28:50 +01:00
storage USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
typec usb: typec: tps6598x: handle block writes separately with plain-I2C adapters 2019-02-21 10:54:23 +01:00
usbip usbip: Fix vep_free_request() null pointer checks on input args 2019-01-30 09:22:35 +01:00
wusbcore usb: wusbcore: wa-xfer: use struct_size() helper 2019-02-19 14:41:38 +01:00
Kconfig USB: add missing SPDX lines to Kconfig and Makefiles 2019-01-22 09:08:17 +01:00
Makefile usb: roles: Add Intel xHCI USB role switch driver 2018-03-22 13:49:27 +01:00
usb-skeleton.c usb: usb-skeleton: use irqsave() in USB's complete callback 2018-06-28 19:36:06 +09:00