panel: add the ability to write to registers as desired
panel/led: move lcd-backlight led from i2c (htcrhodium-led) to mddi (htcrhodium-panel)
Revert: Drop min ondemand speed to 122.88 Mhz . No notable battery gains, probably not worth the performance loss
WIP Cleanup device enabling/disabling + rndis fixes: change interface name back to that expected by GB (should probably be a compat config), add some logic to toggle between rndis and ums
Overhaul compat code. Rndis now working with settings menu. Wrapped compatability stuff in a config for cleaner code. Also tweaked usb pid's to match google/microsoft windows drivers.
USB: msm72k_udc: Check if the ep is not disabled before queuing it

USB: msm72k_udc: Check if the ep is not disabled before queuing it

Queuing a request on a disabled endpoint during composition switch leads
to prime failure. Hence return -EINVAL if a request is queued on a disabled
endpoint.

Also, in f_mtp, block queuing a request in OUT ep in receive_file_work, if
the device state is STATE_OFFLINE.

Change-Id: I0e706d5280a2460baf6ab05dbf97a09c59b642fb
CRs-Fixed: 378207
Signed-off-by: Rajkumar Raghupathy <raghup@codeaurora.org>
USB: android: Don't disable configuration for every adb close

USB: android: Don't disable configuration for every adb close

Certain ADB commands like "adb usb" and "adb root" restart the
adb daemon running on the device.  These commands require USB
bus reset, otherwise adb commands on the host side would stuck
for ever.

USB bus reset can be forced from device side by re-enabling the
same composition.  Earlier, configuration is disabled when adb
daemon closes /dev/android_usb device file.  The configuration
is enabled again after adb daemon opens the device file. This
approach solves the "adb usb" problem with the below side effects.

1. When USB cable is disconnected, the Rx request is flushed and
an error code is returned to user space.  The adb daemon is simply
restarted in this case which cause an unnecessary rebinding of
all functions.
2. The above scenario can happen if host reset the bus when device
is in configured state.  If device disable pull-up during, bus
reset, USB CV CH9 test cases are failing.

The commit d9b1897 (USB: android: Avoid re-enabling the same
configuration) fixed the above side effects. But silently ignores the
original "adb usb" problem.

This commit is another attempt to solve all the above mentioned problems
by forcing re-enumeration only when device is in connected state.  That
means, "adb usb" and "adb root" commands force usb bus reset where as
plugging out a cable does not.

CRs-Fixed: 407882
Change-Id: I45340221f39265df4bca4d770e613dab6345f6b6
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
usb: gadget: Fix usb string id allocation

usb: gadget: Fix usb string id allocation

Don't reset next_string_id every time the gadget is enabled, this makes
the next strings allocated overwrite strings allocated at probe time.
Instead, fix rndis not to allocate new string ids on every config bind.

Change-Id: Ied28ee416bb6f00c434c34176fe5b7f0dcb2b2d4
Signed-off-by: Benoit Goby <benoit@android.com>
usb: gadget: Do not pullup D+ by default on bootup

usb: gadget: Do not pullup D+ by default on bootup

UDC core is starting device controllers as soon as gadget driver
is registered with the UDC, resulting in controller pulling up D+.
This can cause problems with drivers which registers with UDC during
initialization but are ready for enumeration only after user enables
it later. One example of such a driver is android.c

Change-Id: I8985839bd2659f3e3962fe85bd261cd63f43a991
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Workaround: Disable adb when starting rndis

If it is enabled when rndis becomes disabled again, some bug causes usb to get in a bad state. For now we'll just turn it off.