Headset: Ability to hang-up a call from a wired audio headset

Address OPO_52.
The KEY_MEDIA and KEY_VOLUMEUP are mapped to multiple buttons.
That will confuse the input class driver when one button is
pressed while others are released. Fuse all buttons with same
function to one will fix the problem.

Change-Id: Ife63602e68d0fad2813821f0c7e0b6d78cc5d878
msm8974: Stop breaking the whole system

 * Deep breath............

   .....

 * Carveout allocations must be inside a memory { } stanza.

Change-Id: Ica240acec74acfd2180182d7a2725889452af5f6
Revert "sound: wcd9320: implement separate locks to prevent derps"

This reverts commit 1db0e040f453677ba91d14afe2c7007e55646a21.
Revert "sound: wcd9320: tidy up things a little bit. Only accept signed values from now on. The 'headset gain' will only be used to remove some gain noise, increasing it beyond 1 step above the default doesn't make a difference so rather just have it decrease the gain."

This reverts commit 50a2863f682998ab32c27a8e798ea7a31b222cb2.
Revert "sound_control: clean the code"

This reverts commit fcc9e56a106f26e3233f3a16af848528daf0f2fe.
Revert "sound: add sound control to increase headphones, speaker and mic gain."

This reverts commit 481ffc09c9c6c8d746b4e554e7c1be9aa303ea1c.
Revert "Revert "Sound Control: WCD9320: expose additional controls""

This reverts commit ebbcfba53a65713d2cd50a0f476a3595182f0e30.
Revert "Revert "sound control 3.x: Initial GPL release for WCD9320 Audio Codec""

This reverts commit fe8b7ae6cf9522888866ef6a7fa9db30bf6f92f2.
Revert "Revert "sound control: WCD9320: update speaker gain control for Z1""

This reverts commit bbf6b41ef82aa189646afa823a43fbf01175d1e8.