Port crespo's GB wm8994 driver.

Pretend to be a crespo4g for gain purposes.
Adjust external-speaker playback-gain levels to match EL30.

Gain levels determined by tracing wm8994 register values across EL30's
wm8994_set_playback_speaker function.  Commented gain values are found in
the wm8993 datasheet [1].

Note, the EL30 WM8994_CLASSD and WM8994_SPEAKER_VOLUME_LEFT gain values are
not set in the playback_gain_table, but hardcoded in the
wm8994_set_playback_speaker and wm8994_set_playback_speaker_headset
functions.

The voicecall-gain level for WM8994_SPEAKER_VOLUME_LEFT is also different
(EL30 0x3E +5dB vs. CM9 0x3F +6dB), however the existing CM9 value is
preserved as it's louder.

[1] http://www.wolfsonmicro.com/documents/uploads/data_sheets/en/WM8993_1.pdf

Change-Id: I78a00840b2138edff4cb7a97a902c8295ecebd9f
Adjust headset-mic voicecall-gain levels to match EL30.

Gain levels determined by tracing wm8994 register values across EL30's
wm8994_set_voicecall_headset function.  Commented gain values are found in
the wm8993 datasheet [1].

Note, the EL30 WM8994_RIGHT_LINE_INPUT_1_2_VOLUME and WM8994_INPUT_MIXER_4
gain values are not set in the voicecall_gain_table, but hardcoded in the
wm8994_set_voicecall_headset function.

The adjustment to WM8994_INPUT_MIXER_4 is +30dB, while
WM8994_RIGHT_LINE_INPUT_1_2_VOLUME is reduced from +27dB to +18dB for an
adjustment of -9dB.  Thus, this commit yields a net change of +21dB gain on
the mic.  Note, +30dB was also tried (leaving
WM8994_RIGHT_LINE_INPUT_1_2_VOLUME alone) and resulted in echo.

[1] http://www.wolfsonmicro.com/documents/uploads/data_sheets/en/WM8993_1.pdf
DockAudio:  Add support for audio redirection to samsung docks with the help of the "Galaxy Dock Sound Redirector" market app.

Change-Id: I51eb7675e3765aae8cf94fb4cd93ce7296c25737
yas529: Fix deadlock when disabling immediately after enabling

Google Navigation does this and deadlocks the entire sensor system

Change-Id: I421c947758e0681c0cfb9ea8809ea00397f4800a
Omnibus fixes for cypress-touchkey.

- Use msleep instead of mdelay for i2c_touchkey_write retries.

- Delay turning backlight on until key release.  Fixes a long-standing
  problem where long-presses while the backlight is off register as
  short-presses.

- Heuristically determine when the "buttons" light is off in
  liblight/framework, and minimize the amount of time the key lights
  automatically come on.  Makes Screen Filter's soft-key backlight disable
  feature far more useful.

- Add key_off_delay and resume_delay sysfs entries to control how long to
  wait before explicitly shutting off the backlight on key presses
  (releases) and screen on.  These take effect when the "buttons" light is
  off in liblight/framework, and the backlight shouldn't come on in the
  first place.  Although ideally, we'd like to prevent the lights from
  coming on in the first place.

- Add locking between liblight interface (touch_led_control), early
  suspend/late resume, and the key press/release interrupt thread.

Change-Id: I3f1c75bab0ab2e9dd05ce11d410c5063a00533c3
Add sysfs control for capacitive backlights.

With a value of 1 written to /sys/devices/virtual/sec/t_key/touchleds_disabled,
the capacitive button backlights will timeout but will not be allowed to re-light
unless pressed.  A value of 0 will restore original backlight operation.

Allows for advanced settings control via patch: http://review.cyanogenmod.com/#/c/15421

Change-Id: I22cde63c4679f4688a45310c4166b5217f665438
Add Voodoo Sound to crespo drivers.
Update initramfs.
Update kernel version number.