sunxi: usb: convert PHY GPIO functions to DM
authorAndre Przywara <andre.przywara@arm.com>
Tue, 7 Jun 2022 22:36:18 +0000 (23:36 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Sun, 26 Jun 2022 10:22:53 +0000 (11:22 +0100)
commit3c0b9adb898d7abed97707a852d9a074dd68cbea
treed966a7e697d6ea73339b4693031d560caead8955
parent75967970850a932a2359e167fd9950b01e9b99d3
sunxi: usb: convert PHY GPIO functions to DM

The Allwinner USB PHY driver is still using the legacy GPIO interface,
which is now implemented by the DM_GPIO compat functions.
Those seem to have some design flaws, as setting the direction, then
later setting the value will not work, if the DM_GPIO driver is
implementing set_flags.

Fix this by using the dm_ version of the direct GPIO interface, which
uses struct gpio_desc structs to handle requested GPIOs, and actually
keeps the flags we set earlier.

This fixes USB operation on boards which need to toggle the VBUS supply
via a GPIO, like the Teres-I laptop or the BananaPi M2 Berry board.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reported-by: Milan P. Stanić <mps@arvanta.net>
Reviewed-by: Samuel Holland <samuel@sholland.org>
drivers/phy/allwinner/phy-sun4i-usb.c