Revert "CPUfreq ondemand: update sampling rate without waiting for next sampling"

This reverts commit ec75886555613e285e7e6186c8f057ec4cc67943.
final color config for pa 3.0

Change-Id: I18c901c2d77c77088c4e38977bf6d99c6d16de12
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
LG Mako gamma control - add mirror interface while leaving
faux's interface in place, respecting his rollover char checksum.

Mirror interface should be a little easier for humans to work
with from scripting (int checksum that doesn't roll over).

Added a couple validation checks to both interfaces before allowing
values to be stored. This will add some safety for scripting or rouge
apps that may have a bug.
-Only allow gamma amp 0 and 1 values up to 31.
-Since we are pushing to a char data type, make sure nothing is over
255.

Changed dsi_cmd_desc struct name so it can be shared between
both interfaces.

Added to sysfs:
/sys/devices/platform/mipi_lgit.1537/kgamma_red
/sys/devices/platform/mipi_lgit.1537/kgamma_green
/sys/devices/platform/mipi_lgit.1537/kgamma_blue

Example:
echo "383 114 21 118 0 0 0 80 48 2" >
/sys/devices/platform/mipi_lgit.1537/kgamma_red

echo "383 114 21 118 0 0 0 80 48 2" >
/sys/devices/platform/mipi_lgit.1537/kgamma_green

echo "383 114 21 118 0 0 0 80 48 2" >
/sys/devices/platform/mipi_lgit.1537/kgamma_blue

First digit is a checksum (sum of all the other 9 numbers)
Gamma Amp 0 = value 6
Gamma Amp 1 = value 7

Show the current settings with proper checksum:
cat /sys/devices/platform/mipi_lgit.1537/kgamma_red
cat /sys/devices/platform/mipi_lgit.1537/kgamma_green
cat /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Conflicts:

	drivers/video/msm/mipi_lgit.c
mipi_lgit.c: Fix build error
Signed-off-by: Seongmin Park <r_data@naver.com>
Gamma Control - added refresh_screen sysfs attribute that has nothing to
do with setting values. This should only be called by apps or scripts
while adjusting colors "live" with the motley or faux interface and not
implemented on startup via init.d or apps since it will compete with the
normal power on process.

echo 1 > /sys/devices/platform/mipi_lgit.1537/refresh_screen
Conflicts:

	scripts/gcc-wrapper.py
Revert "Build kenrel with Linaro gcc 4.6"

This reverts commit e1a0dc56e9c5cb188fddc6cf570cd0e3eb9cc4b1.
Makefile: Add optimize flag -mno-unaligned-access
cpufreq_ondemand.c: Update the latest Ondemand governor from Codeaurora
Signed-off-by: Seongmin Park <r_data@naver.com>
speaker amp control: initial release for speaker amp control

Signed-off-by: faux123 <reioux@gmail.com>
speaker amp control: allowed all configurable registers to be adjusted

Signed-off-by: faux123 <reioux@gmail.com>
Sound Control: Sound control for WCD93xx codec

Fully GPL'ed version.

Signed-off-by: faux123 <reioux@gmail.com>
Update gitignore
Signed-off-by: Seongmin Park <r_data@naver.com>
block: cgroups, kconfig, build bits for BFQ-v6-3.4

Update Kconfig.iosched and do the related Makefile changes to include
kernel configuration options for BFQ. Also add the bfqio controller
to the cgroups subsystem.

Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>
block: introduce the BFQ-v6 I/O sched for 3.4

Add the BFQ-v6 I/O scheduler to 3.4.
The general structure is borrowed from CFQ, as much code. A (bfq_)queue is
associated to each task doing I/O on a device, and each time a scheduling
decision has to be made a queue is selected and served until it expires.

    - Slices are given in the service domain: tasks are assigned budgets,
      measured in number of sectors. Once got the disk, a task must
      however consume its assigned budget within a configurable maximum time
      (by default, the maximum possible value of the budgets is automatically
      computed to comply with this timeout). This allows the desired latency
      vs "throughput boosting" tradeoff to be set.

    - Budgets are scheduled according to a variant of WF2Q+, implemented
      using an augmented rb-tree to take eligibility into account while
      preserving an O(log N) overall complexity.

    - A low-latency tunable is provided; if enabled, both interactive and soft
      real-time applications are guaranteed very low latency.

    - Latency guarantees are preserved also in presence of NCQ.

    - Also with flash-based devices, a high throughput is achieved while
      still preserving latency guarantees.

    - A useful feature borrowed from CFQ: static fallback queue for OOM.

    - Differently from CFQ, BFQ uses a unified mechanism (Early Queue Merge,
      EQM) to get a sequential read pattern, and hence a high throughput,
      with any set of processes performing interleaved I/O. EQM also
      preserves low latency. The code for detecting whether two queues have
      to be merged is a slightly modified version of the CFQ code for
      detecting whether two queues belong to cooperating processes and whether
      the service of a queue should be preempted to boost the throughput.

    - BFQ supports full hierarchical scheduling, exporting a cgroups
      interface.  Each node has a full scheduler, so each group can
      be assigned its own ioprio (mapped to a weight, see next point)
      and an ioprio_class.

    - If the cgroups interface is used, weights can be explictly assigned,
      otherwise ioprio values are mapped to weights using the relation
      weight = IOPRIO_BE_NR - ioprio.

    - ioprio classes are served in strict priority order, i.e., lower
      priority queues are not served as long as there are higher priority
      queues.  Among queues in the same class the bandwidth is distributed
      in proportion to the weight of each queue. A very thin extra bandwidth
      is however guaranteed to the Idle class, to prevent it from starving.

Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>
Update defconfig
...
Revert "Voltage Control: add sysfs interface"

This reverts commit 78513caaaafc13290589c81147b2cad18738a4b6.
Revert "Voltage Control: initial voltage control for MSM S4-Pro SOC"

This reverts commit 6a287fa744dbcfe8fdf79e8795f6b567be11e8a7.

Conflicts:

	arch/arm/mach-msm/Kconfig
Mako (absolute) Voltage control.

This started out as just including the existing work of someone else.
But that was so obfuscated and needlessly moved in sysfs, i turned it into the type control
we have on NP, meaning same sysfs location and output formatting.
Since the various kernels range from no preUV to different levels of UV it is best to encourage the user
to think in absolute voltages.
"I can UV -150 on kernel X! Really? Odd, i can only UV kernel Y -50mV!"
Kernel X has no preUV, kernel Y has 100mV preUV, so they both run the same.
This is needlessly confusing to users.

Talking in absolutes, users will get a better understanding of "what the other guy's" device is capable of.
Sticking to a common sysfs location and to the common absolute voltage is thus the right thing to do.

This seems to work now as it should.

This is heavily based on coolbho3k's NP patch. from Paul's mess we might have a few function names, but not the contents.
This is not his, if he claims otherwise, he can go fuck himself.

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

Conflicts:

	arch/arm/mach-msm/Kconfig
Undervolt: clean it up, make it elegant and remove the constrain of fixed set of NUM_FREQS - its not dynamic based on the number of freqs used for scaling via an external function.

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