Hi Johan,
On Fri, Nov 03, 2023 at 05:43:23PM +0100, Johan Hovold wrote:
Commits 7b8ef22ea547 ("usb: xhci: plat: Add USB phy support") and 9134c1fd0503 ("usb: xhci: plat: Add USB 3.0 phy support") added support for looking up legacy PHYs from the sysdev devicetree node and initialising them.
This broke drivers such as dwc3 which manages PHYs themself as the PHYs would now be initialised twice, something which specifically can lead to resources being left enabled during suspend (e.g. with the usb_phy_generic PHY driver).
As the dwc3 driver uses driver-name matching for the xhci platform device, fix this by only looking up and initialising PHYs for devices that have been matched using OF.
Note that checking that the platform device has a devicetree node would currently be sufficient, but that could lead to subtle breakages in case anyone ever tries to reuse an ancestor's node.
Fixes: 7b8ef22ea547 ("usb: xhci: plat: Add USB phy support") Fixes: 9134c1fd0503 ("usb: xhci: plat: Add USB 3.0 phy support") Cc: stable@vger.kernel.org # 4.1 Cc: Maxime Ripard mripard@kernel.org Cc: Stanley Chang stanley_chang@realtek.com Signed-off-by: Johan Hovold johan+linaro@kernel.org
Tested-by: Stefan Eichenberger stefan.eichenberger@toradex.com
Tested-by: Stanley Chang stanley_chang@realtek.com
I am sorry to notify you this patch is tested fail. I test the Realtek phy driver at drivers/phy/Realtek/phy-rtk-usb2.c again. But I can't get the phy in xhci. It is a dwc3 generic phy driver, and it is also a usb phy driver.
Base on you modified, I can't run on callback rtk_phy->phy.notify_port_status = rtk_phy_notify_port_status; Thanks, Stanley.