Added optimized ARM RWSEM algorithm.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mach-msm: board-mako-display.c: revert c1be92b796 partly - banding fix wasn't reverted, the yellow and green reinforce and blue subdue is reverted.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
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: Francisco Franco <franciscofranco.1990@gmail.com>
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>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Undervolt: few minor changes, mostly for clarity.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Undervolt: add checks to disallow too extreme voltages, min and max.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Revert "Undervolt: add checks to disallow too extreme voltages, min and max."

This reverts commit 3c72f2ec8efe50c9a9a7c5eefba5d39ba1cf9eb1.
Revert "Undervolt: few minor changes, mostly for clarity."

This reverts commit 79a745cc5ffe9a581af90d804462abd4780cbeac.
Revert "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."

This reverts commit 7839b21572007dd2c937fe4a893c8f09c354d92e.
Revert "Mako (absolute) Voltage control."

This reverts commit 48e00743741efa77964781465baf35b3641ec98d.
Userspace Voltage Control (thanks faux123)

-Changed CONFIG name to my liking
-Fixed spelling in the Kconfig
Userspace Voltage Control: tweak faux123's original work

Only get/set frequencies that are configured to be used as scaling
frequencies.

Originally committed by _motley (https://github.com/thracemerin/kernel-Nexus4/commit/116b76f36c61adbac4db8c331e23b967c38389b6)
lowered min frequency to 192MHz
Lowered Min CPU Voltage to 700mV