pm8xxx-vibrator: implement sysfs for intensity level

Node: /sys/devices/virtual/timed_output/vibrator/level
Range: 12 - 31

Change-Id: I7c2d390cb55c9d39ad9a8cc7e6eb7687832d4465

Conflicts:
	drivers/misc/pm8xxx-vibrator.c
 pm8xxx-vibrator: make sysfs for intensity optional

don't compile the intensity sysfs everytime -_-
random: entropy tweaks are all the rage nowadays

use nonblocking for all.  Read this web page:
http://lwn.net/Articles/489734/ - WIP

commit d19e78c01870bc32e40862b50881bb30fe046933 1 parent 709ec23
maxl authored a day ago voku committed in 12 hours
thundersonic/wcd9304: Create new handles

Signed-off-by: varunchitre15 <varun.chitre15@gmail.com>
ThunderSonic Sound Engine: Initial bring up

Introducing a new sound control driver for wcd9304 sound card wholly written by me
Usage: Currently there are only 2 controls, more to be added in future.
Parameter 1: speaker_boost
This is 8-leveled parameter that means it has 8 boost levels. The stock sound boost level is 3 by default. You can boost the speaker sound by 8 levels in total
e.g
echo 6 > /sy/kernel/thundersonic_engine/speaker_boost
This will set uplift the speaker to 6th loudness level
I have set max value as 8 for safety of hardware
Parameter 2: headphone_boost
This is mere a boolean parameter with 1 for boost and 0 for unboost. The sound card hardware limitations make it impossible to have this parameter multi-leveled. But still I am researching on this.

Signed-off-by: varunchitre15 <varun.chitre15@gmail.com>

Conflicts:
	arch/arm/configs/sa77_defconfig

Conflicts:
	arch/arm/configs/cyanogenmod_taoshan_defconfig
	sound/soc/codecs/Kconfig