u-boot/drivers/usb/musb-new
Hans de Goede 7c22e26ec5 sunxi: musb: Re-init musb controller on repeated probe calls
With sunxi-musb musb_lowlevel_init() can fail when a charger; or no cable
is plugged into the otg port.

To avoid leaking the struct musb allocated by musb_init_controller()
on repeated musb_usb_probe() calls, we were caching its result.
But musb_init_controller() does more, such as calling sunxi_musb_init()
which enables the clocks.

Not calling sunxi_musb_init() causes the musb controller to stop working
after a "usb reset" since that calls musb_usb_remove() which disables the
clocks.

This commit fixes this by removing the caching of the struct returned
from musb_init_controller(), it replaces this by free-ing the allocated
memory in musb_usb_remove() and calling musb_usb_remove() on
musb_usb_probe() errors to ensure proper cleanup.

While at it also make musb_usb_probe() and musb_usb_remove() static.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-09-18 14:39:16 +02:00
..
am35x.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
Kconfig usb: gadget: Move CONFIG_USB_GADGET_DUALSPEED to Kconfig 2016-04-20 11:43:27 +02:00
linux-compat.h drivers: remove writes{b,w,l,q} and reads{b,w,l,q}. 2016-04-10 17:18:41 +02:00
Makefile drivers: musb-new: Add USB DRC driver for Microchip PIC32 OTG controller. 2016-04-10 17:18:41 +02:00
musb_core.c drivers: musb-new: Add USB DRC driver for Microchip PIC32 OTG controller. 2016-04-10 17:18:41 +02:00
musb_core.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_debug.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_dma.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_dsps.c Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
musb_gadget.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_gadget.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_gadget_ep0.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_host.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_host.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_io.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
musb_regs.h musb: sunxi: Add support for A83T 2016-03-31 17:03:49 +02:00
musb_uboot.c musb: Properly call musb_stop() on probe failure 2016-04-10 17:18:43 +02:00
musb_uboot.h musb: Add device-model support to the musb-host u-boot glue 2015-07-21 17:39:38 -06:00
omap2430.c usb: musb-new: omap2430: OMAP4 MUSB USB controller support 2016-03-15 15:12:51 -04:00
omap2430.h usb: musb-new: omap2430: OMAP4 MUSB USB controller support 2016-03-15 15:12:51 -04:00
pic32.c drivers: musb-new: Add USB DRC driver for Microchip PIC32 OTG controller. 2016-04-10 17:18:41 +02:00
sunxi.c sunxi: musb: Re-init musb controller on repeated probe calls 2016-09-18 14:39:16 +02:00
usb-compat.h usb: Move determination of TT hub address/port into separate function 2015-12-31 16:16:29 +01:00