showp1984's Thermal control (Squashed)

drivers: thermal: create kernel thermal readout

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Remove stock thermal driver

Change-Id: Id3c88b71b89a3a2168fb5ed812f2911ebe308bab
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>

thermal: patch down msm_thermal, pre device

This also removes the cputable freq changes, which
we won't need since we use static values.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Signed-off-by: ayysir <dresadd09691@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c
	include/linux/msm_thermal.h

msm_thermal: 3-phase thermal throttling

This introduces 3-phase thermal throttling to the existing
msm_thermal driver (it now works more like thermald).
This also changes the sampling rate to check every second
for increased temperatures.
Additionally this adds clear thresholds for the 2 new tripping
points.

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: add sysfs interface

This adds a sysfs interface to msm_thermal.
I've also restructured the tuneables into a struct
for better overview.

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: move sysfs to /sys/kernel/msm_thermal/conf/

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: fix saving pre-throttled freq

Signed-off-by: showp1984 <showp1984@gmail.com>

drivers/thermal: create own unbound (highpri) wq for msm_thermal

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

drivers/thermal: adapt msm_thermal for quadcore & mako

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

drivers/thermal: add emergency shutdown

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: emergency shutdown rework

additionally to initiating the shutdown the lowest possible
frequency should be set. (=max throttle atm)
update the cpufreq and do not cancel the workqueue
+ some small code improvements

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: use temperature1 sensor too
The sensor1 seems to be cpu related too, and it usually
shows higher temps (~2°C). Use the higher value of both
to decide if thermal throttling is neccessary.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: check every 100ms for thermal changes
Tests have shows that the apq8064 likes to jump from
~69°C to ~80°C within 250ms while overclocked.
schedule checks more often to avoid that.
Also increase shutdown temp to 81°C (+1).

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: do not wait, unthrottle now

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: remove not needed condition

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

thermal: fix clear thresholds

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: only update freq if new is not > than saved_max

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: rework throttling states

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: set cpus online to set frequency back to unthrottled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fixing debug messages

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix mid scaling

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: don't calculate max everytime, once is enough

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix hardware issue with temp sensor 1

Ignore insane values and also ignore sensor 1 in suspend.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: assume that sensor1 fails as default

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm8960_tsens: enable all thermal devices

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm8960_tsens.c

msm_thermal: patch to upstream

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

Change-Id: I67043f1b06f72d85d7212dcb49138a2a8c0e4ad7

thermal: update upstream msm_thermal with 3-phase control

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

thermal: add sensor id to sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: check every 150ms

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix previous lazyness

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Revert "thermal: add sensor id to sysfs"

This reverts commit 32941c2ab7c0ffd6f61f1fc2aa9171fcefc9c290.

This was meant for multi sensor control, which will be implemented later.

msm_thermal: remove platform driver

I don't know why I even bothered with this before, since we are no
longer msm_thermal (qcom) compatible anyway.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: export if we are currently throttled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: fix spacing throughout the whole file

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: add stats for throttling

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Revert "msm_thermal: remove platform driver"

This reverts commit 242417400ca7814773e9ea3652ef181b84924e67.

thermal: Fix critical enable/disable bug from STOCK source
This fixes a critical bug which only allowed to disable the thermal guard
but not to re-enable it again. Once disabled the thermal guard would stay
off until rebooted. This allows to re-enable it again. (sysfs)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: enable msm_thermal

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Defconfig: Set proper min max speeds

Change-Id: If7bc1337721bd51d46ffa432de47ee81326df62a
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>

cpuinit: get rid of __cpuinit, first regexp
This commit is the result of:

find -name "*.c" | xargs sed -i "s/ __cpuinit / /g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, second regexp
This commit is the result of:

find -name "*.c" | xargs sed -i "s/ __cpuexit / /g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, third regexp
This commit is the result of:

find -name "*.c" | xargs sed -i "s/ __cpuinitdata//g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, fourth regexp
This commit is the result of:

find -name "*.c" | xargs sed -i "s/ __cpuinit$//g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, fifth regexp
This commit is the result of:

find arch/ -name "*.h" | xargs sed -i "s/ __cpuinit//g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, sixth regexp
This commit is the result of:

find -name "*.c" | xargs sed -i "s/^__cpuinit //g"

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

cpuinit: get rid of __cpuinit, manual fixups

a few final fixups that haven't been caught by regexps

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	arch/x86/kernel/cpu/scattered.c

Change-Id: I3bfeb7d354fd814ef67599ea6a8eb52c09e8d1c1

cpuinit: turn __cpuinit into nops

    now that there's no users left, turn __cpuinit into a nop for now,
    to avoid breaking any in-flight code. In a few releases we can just
    drop it entirely.

    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

kbuild: drop cpuinit/cpuexit checks in modpost

With the removal of cpuinit/cpuexit we no longer need to
do section mismatch checks on these sections.

Drop it from modpost.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Revert "workqueue: perform cpu down operations from low priority cpu_notifier()"
from 3.4.56 merge.

Change-Id: I41ec831e21f8802fb81200f796f1a375c6f9428a
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>

revert hacks for the previous misuse of __cpuinit for hotplug only functions

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>