sound_control: initial code push for Headphones gain userspace interface.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>

sound_control: add headset, speaker and mic gain interfaces. Also add the sysfs control file.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>

sound_control: add workaround to prevent audio resets after using custom values. Based on https://github.com/faux123/Nexus_5/commit/33407fd2d63290540eb0054bc7c6611f2080ea8b

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>

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.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

sound_control: clean the code

* proper 80-char indentation
* add module_exit
* clean up the store functions using proper and modern kstroul
* use unsigned boost vars since we're not accepting negative
values anymore
* remove that stupid and useless version define

sound_control: goodbye externs

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>

Conflicts:
	drivers/misc/Makefile

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>

Conflicts:
	drivers/misc/Makefile