linux/drivers/phy/tegra
Thierry Reding 2f8da84def phy: tegra: Fix regulator leak
Devices are created for each port of the XUSB pad controller. Each USB 2
and USB 3 port can potentially have an associated VBUS power supply that
needs to be removed when the device is removed.

Since port devices never bind to a driver, the driver core will not get
to perform the cleanup of device-managed resources that usually happens
on driver unbind.

Now, the driver core will also perform device-managed resource cleanup
for driver-less devices when they are released. However, when a device
link is created between the regulator and the port device, as part of
regulator_get(), the regulator takes a reference to the port device and
prevents it from being released unless regulator_put() is called, which
will never happen.

Avoid this by using the non-device-managed API and manually releasing
the regulator reference when the port is unregistered.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-03-19 14:00:04 +01:00
..
Kconfig phy: tegra: xusb: Add usb-role-switch support 2020-03-19 13:54:35 +01:00
Makefile phy: tegra: xusb: Add Tegra194 support 2020-03-19 13:59:46 +01:00
phy-tegra194-p2u.c phy: tegra: Add PCIe PIPE2UPHY support 2019-08-13 16:01:15 +01:00
xusb-tegra124.c phy: tegra: Fix regulator leak 2020-03-19 14:00:04 +01:00
xusb-tegra186.c phy: tegra: Fix regulator leak 2020-03-19 14:00:04 +01:00
xusb-tegra210.c phy: tegra: Fix regulator leak 2020-03-19 14:00:04 +01:00
xusb.c phy: tegra: Fix regulator leak 2020-03-19 14:00:04 +01:00
xusb.h phy: tegra: Fix regulator leak 2020-03-19 14:00:04 +01:00