linux/drivers/usb/gadget/udc
Robert Jarzmik f4fd094cdf usb: gadget: pxa27x_udc: fix clock prepare and enable
As the udc clock controls both the output signals and the internal IP,
it must be enabled before any UDC register is touched.

The bug is revealed when the clock framework disables the clock for a
couple of milliseconds during the boot sequence, and the endpoint
configuration is lost. The bug is hidden when clock framework is not
used, because no "unused clocks disable" occurs.

This patch fixes the wrong behaviour by ensuring that :
 - whenever a UDC register is read or written, the clock is enabled
 - reworks the endpoints programming to have it done under running clock
 - reworks suspend/resume to ensure the same thing

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-11-03 10:01:18 -06:00
..
amd5536udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
amd5536udc.h
at91_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
at91_udc.h
atmel_usba_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
atmel_usba_udc.h
bcm63xx_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
dummy_hcd.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
fotg210-udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
fotg210.h
fsl_mxc_udc.c
fsl_qe_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
fsl_qe_udc.h
fsl_udc_core.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
fsl_usb2_udc.h
fusb300_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
fusb300_udc.h usb: gadget: fusb300_udc.h: Fix typo in include guard 2014-09-03 09:15:57 -05:00
gadget_chips.h
goku_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
goku_udc.h
gr_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
gr_udc.h usb: gadget: gr_udc: Add bounce buffer to handle odd sized OUT requests 2014-09-16 10:01:45 -05:00
Kconfig usb: gadget: udc: USB_GADGET_XILINX should depend on HAS_DMA 2014-10-23 09:55:41 -05:00
lpc32xx_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
m66592-udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
m66592-udc.h
Makefile usb: gadget: Add xilinx usb2 device support 2014-09-12 09:12:49 -05:00
mv_u3d_core.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
mv_u3d.h
mv_udc_core.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
mv_udc.h
net2272.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
net2272.h
net2280.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
net2280.h
omap_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
omap_udc.h
pch_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
pxa25x_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
pxa25x_udc.h
pxa27x_udc.c usb: gadget: pxa27x_udc: fix clock prepare and enable 2014-11-03 10:01:18 -06:00
pxa27x_udc.h usb: gadget: pxa27x_udc: transfer mach_info into pxa_udc 2014-11-03 10:00:57 -06:00
r8a66597-udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
r8a66597-udc.h
s3c2410_udc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
s3c2410_udc.h
s3c-hsudc.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00
udc-core.c usb: gadget: udc: core: prepend udc_attach_driver with usb_ 2014-11-03 10:01:16 -06:00
udc-xilinx.c usb: gadget: remove unnecessary 'driver' argument 2014-11-03 10:01:16 -06:00