[PATCHv5 0/4] USB: gadget: atmel_usba_udc: Driver improvements

Sylvain Rochet sylvain.rochet at finsecur.com
Wed Jan 21 11:31:10 PST 2015


Start clocks on rising edge of the Vbus signal, stop clocks on falling 
edge of the Vbus signal.

Add suspend/resume with wakeup support.

Changes since v4:
  * Now using IRQ_NOAUTOEN flag to remove the unused check for 
    udc->driver is not NULL in the Vbus IRQ.
  * Reworked the start/stop of clocks on Vbus edges to prepare for 
    suspend/resume support, factorised start and stop procedures
  * New patch, suspend/resume for USBA with wakeup support

Changes since v3:
  * Added stable tag for the first patch
  * As suggested, removed the unused check for udc->driver is not NULL in
    Vbus IRQ by requesting IRQ after udc->driver is set and by releasing
    IRQ before udc->driver is cleared
  * Rebased the core patch of this series against the just explained changes

Changes since v2:
  * Use spin_lock_irqsave/unlock_irqrestore instead of spin_lock/unlock in
    threaded interrupt because we are not in irq context anymore
  * Removed useless and probably harmful IRQF_NO_SUSPEND from
    devm_request_threaded_irq() flags

Changes since v1:
  * Using a threaded irq and mutex instead of spinclock as suggested
  * Moved a silently fixed bug in a separate patch (1/2)

Sylvain Rochet (4):
  USB: gadget: atmel_usba_udc: Fixed vbus_prev initial state
  USB: gadget: atmel_usba_udc: Request an auto disabled Vbus signal IRQ
    instead of an auto enabled IRQ request followed by IRQ disable
  USB: gadget: atmel_usba_udc: Start clocks on rising edge of the Vbus
    signal, stop clocks on falling edge of the Vbus signal
  USB: gadget: atmel_usba_udc: Add suspend/resume with wakeup support

 drivers/usb/gadget/udc/atmel_usba_udc.c | 214 ++++++++++++++++++++++++--------
 drivers/usb/gadget/udc/atmel_usba_udc.h |   4 +
 2 files changed, 165 insertions(+), 53 deletions(-)

-- 
2.1.4




More information about the linux-arm-kernel mailing list