Squashed commit of many changes from P4 kernel

Change-Id: Iea4fa968fe039afe59c03ea051cde42db7abdc31
usb: gadget: sync with grouper (android.googlesource.com, jb-fr2)

Change-Id: I11d7f6cfa15b0e12e71e6f2edc0788492c68c92d
Merge "Squashed commit of many changes from P4 kernel" into cm-10.1
Merge "usb: gadget: sync with grouper (android.googlesource.com, jb-fr2)" into cm-10.1