linux/drivers/usb/dwc3
Neil Armstrong 1cf084d161 usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables
When going in suspend, in Device mode, then resuming back leads
to the following:

unbalanced disables for USB_PWR_EN
WARNING: CPU: 0 PID: 163 at ../drivers/regulator/core.c:2590 _regulator_disable+0x104/0x180
Hardware name: Amlogic Meson G12A U200 Development Board (DT)
[...]
pc : _regulator_disable+0x104/0x180
lr : _regulator_disable+0x104/0x180
[...]
Call trace:
 _regulator_disable+0x104/0x180
 regulator_disable+0x40/0x78
 dwc3_meson_g12a_otg_mode_set+0x84/0xb0
 dwc3_meson_g12a_irq_thread+0x58/0xb8
 irq_thread_fn+0x28/0x80
 irq_thread+0x118/0x1b8
 kthread+0xf4/0x120
 ret_from_fork+0x10/0x18

This disables the regulator if enabled on suspend, and the reverse on
resume.

Fixes: c99993376f ("usb: dwc3: Add Amlogic G12A DWC3 glue")
Tested-by: Kevin Hilman <khilman@baylibre.com>
Reported-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2019-08-28 13:04:59 +03:00
..
core.c usb: dwc3: Use clk_bulk_prepare_enable() 2019-08-09 13:37:56 +03:00
core.h usb: dwc3: Update soft-reset wait polling rate 2019-08-09 08:31:38 +03:00
debug.h Revert "usb:gadget Separated decoding functions from dwc3 driver." 2019-07-04 13:02:09 +02:00
debugfs.c usb: dwc3: debugfs: Print/set link state for peripheral mode 2018-11-26 09:06:31 +02:00
drd.c usb: dwc3: drd: Defer probe if extcon device is not found 2019-02-19 15:08:07 +01:00
dwc3-exynos.c usb: dwc3: exynos: Fix error handling of clk_prepare_enable 2019-01-28 15:31:11 +02:00
dwc3-haps.c usb: dwc3: haps: Workaround matching VID PID 2019-02-07 13:17:19 +02:00
dwc3-keystone.c usb: dwc3: keystone: use devm_platform_ioremap_resource() to simplify code 2019-08-09 08:28:29 +03:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables 2019-08-28 13:04:59 +03:00
dwc3-of-simple.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
dwc3-omap.c usb: dwc3: omap: squash include/linux/platform_data/dwc3-omap.h 2019-08-09 08:28:29 +03:00
dwc3-pci.c usb: dwc3: pci: add support for TigerLake Devices 2019-07-03 10:45:11 +03:00
dwc3-qcom.c usb: dwc3: qcom: Use of_clk_get_parent_count() 2019-06-18 11:58:29 +03:00
dwc3-st.c usb: dwc3: st: Add of_dev_put() in probe function 2019-08-28 13:04:58 +03:00
ep0.c usb: dwc3: gadget: Add support for disabling U1 and U2 entries 2019-06-18 11:58:30 +03:00
gadget.c usb: dwc3: don't set gadget->is_otg flag 2019-08-28 13:04:58 +03:00
gadget.h usb: dwc3: gadget: Add support for disabling U1 and U2 entries 2019-06-18 11:58:30 +03:00
host.c usb: dwc3: remove generic PHYs forwarding for XHCI device 2019-08-09 13:37:05 +03:00
io.h USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
Kconfig usb: dwc3: qcom: Add support for booting with ACPI 2019-06-18 11:58:29 +03:00
Makefile usb: dwc3: Add Amlogic G12A DWC3 glue 2019-05-03 09:13:47 +03:00
trace.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
trace.h Revert "usb:gadget Separated decoding functions from dwc3 driver." 2019-07-04 13:02:09 +02:00
ulpi.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00