samsung_battery: Charge level interface

- defaults are stock currents
- now separate interfaces for ac and usb

samsung_battery: Charge level interface v2

- added sysfs interface to ignore unstable power
- added sysfs interface to ignore margin

based on implementation of AndreiLux in Perseus kernel

samsung_battery: Add wireless level to charge level interface

samsung-battery: Add charge info to charge level interface V2
Boeffla-Sound: Engine 1.6.6
logger: Add sys fs kernel interface to configure Android logger

- now logging can be switched on and off via /sys/kernel/logger_mode/logger_mode interface
- default is 1 (on)
Disable bunch of debug on the code side

Squashed commit of the following:

commit 35b38b646461d2e59f5a5844a08b6fac75e333e0
Author: JustArchi <JustArchi@JustArchi.net>
Date:   Sat Jun 14 23:57:43 2014 +0200

    max77693: Disable debug

commit 3c1ccaf3460df990349435c6605f6409bc59ff2c
Author: andip71 <andreasp@gmx.de>
Date:   Fri Mar 7 06:30:22 2014 +0100

    cpuidle-exynos4: Remove debug logging

commit b88873af8780a4b11aaa3169fb2caf98eba48b2a
Author: JustArchi <JustArchi@JustArchi.net>
Date:   Fri Jun 13 11:35:47 2014 +0200

    Disable logging on mms_ts

commit 0c635c190b59bde77e6fb8ace189ea2465fde364
Author: JustArchi <JustArchi@JustArchi.net>
Date:   Fri Jun 13 11:31:24 2014 +0200

    Disable logging on s3cfb:s6e8aa0/s6evr02

commit a28684f97dc1d7fc8f2077a7ba748ed6e9e4fc4e
Author: sakindia123 <sa6915@gmail.com>
Date:   Sun May 26 14:39:28 2013 +0100

    mxt224_u1: Silence some status messages

    Change-Id: Ied425b0a0c8cd83ba96fdbdfa15a979af59f7cae

commit ad70d2aac2d47334f7dd670bfa20f948983c0d0f
Author: sakindia123 <sa6915@gmail.com>
Date:   Mon May 27 07:52:24 2013 +0100

    drivers: modem_if : Remove some debugging

    Change-Id: I4ac65badbd41c930bc226d0162cdb446f32d6fe6

    Conflicts:
    	drivers/misc/modem_if/modem_link_device_usb.c
    	drivers/misc/modem_if/modem_link_pm_usb.c

commit 31fedc5b5d88f18b626826df001d69dbb8156608
Author: codeworkx <codeworkx@cyanogenmod.com>
Date:   Tue Sep 25 10:57:39 2012 +0200

    modem_if: disable printing of IPC-RX/TX messages

    Change-Id: I689eacf019fc321c6390bfd4226533beab73ff64

commit 7587f3c7f6e66eaf45e9444a64a88d5069868136
Author: codeworkx <codeworkx@cyanogenmod.com>
Date:   Tue Sep 25 10:50:33 2012 +0200

    max77693: fix debugging

    Change-Id: Iea6300c6b236127a239eb02148b4dbcae0ccaef6

commit bc044f36e8d01e22d7b9e6bcf031fdf37cddd6d6
Author: andip71 <andreasp@gmx.de>
Date:   Mon Feb 4 09:25:23 2013 +0100

    Remove debug logging for some drivers:

    - touchscreen
    - modem
    - max77686
    - sec_watchdog
Fixed MHL no sound issue

Revert : ASoC: wm8994: Ensure there are enough BCLKs for four channels

commit b8edf3e5522735c8ce78b81845f7a1a2d4a08626 upstream.

Otherwise if someone tries to use all four channels on AIF1 with the
device in master mode we won't be able to clock out all the data.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 (reverse-merged from commit 3b6ae1807d29f8cacd63fddf513110f9308b4c8e)
Revert "tick: Cleanup NOHZ per cpu data on cpu down"

andip71: This was a bug introduced in upstream to 3.0.79 which impacts CPU frequency scaling

This reverts commit b9cbfd27308999d2ae56d1d341a3a77f91d04a19.
samsung_battery: Charge level interface v2a

- bug fix for wrong if statements causing the settings to be reset
performance: Turn CPUs online while active

Since we don't have separate active hotplugging logic aside the in-governor one in pegasusq, switching to performance governor will always just remain with whatever cores were online before the switch. This activates all available cores on governor start, and turns additional cores off when stopped.
Regenerate config
ARM: 7011/1: Add ARM cpu topology definition

The affinity between ARM processors is defined in the MPIDR register.
We can identify which processors are in the same cluster,
and which ones have performance interdependency. We can define the
cpu topology of ARM platform, that is then used by sched_mc and sched_smt.

The default state of sched_mc and sched_smt config is disable.
When enabled, the behavior of the scheduler can be modified with
sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.

Changes since v4 :
*  Remove unnecessary parentheses and blank lines

Changes since v3 :
* Update the format of printk message
* Remove blank line

Changes since v2 :
* Update the commit message and some comments

Changes since v1 :
* Update the commit message
* Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h
* Modify header of arch/arm/kernel/topology.c
* Modify tests and manipulation of MPIDR's bitfields
* Modify the place and dependancy of the config
* Modify Noop functions

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7182/1: ARM cpu topology: fix warning

kernel/sched.c:7354:2: warning: initialization from incompatible pointer type

Align cpu_coregroup_mask prototype interface with sched_domain_mask_f typedef
use int cpu instead of unsigned int cpu

Cc: <stable@vger.kernel.org>
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7461/1: topology: Add arch_scale_freq_power function

Add infrastructure to be able to modify the cpu_power of each core

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7462/1: topology: factorize the update of sibling masks

This factorization has also been proposed in another patch that has not been
merged yet:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/080873.html
So, this patch could be dropped depending of the state of the other one.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7463/1: topology: Update cpu_power according to DT information

Use cpu compatibility field and clock-frequency field of DT to
estimate the capacity of each core of the system and to update
the cpu_power field accordingly.
This patch enables to put more running tasks on big cores than
on LITTLE ones. But this patch doesn't ensure that long running
tasks will run on big cores and short ones on LITTLE cores.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology

Get rid of this warning..
arch/arm/kernel/built-in.o(.text+0xac78): Section mismatch in reference
from the function init_cpu_topology() to the function
 .init.text:parse_dt_topology()
The function init_cpu_topology() references
the function __init parse_dt_topology().
This is often because init_cpu_topology lacks a __init
annotation or the annotation of parse_dt_topology is wrong.

Signed-off-by: Venkatraman S <svenkatr@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: kernel: enhance MPIDR macro definitions

Kernel subsystems other than the topology layer need the MPIDR
mask definitions to access the MPIDR without relying on hardcoded
masks. This patch moves the MPIDR register masks definition to
a header file and defines a macro to simplify access to MPIDR bit fields
representing affinity levels.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
ARM: kernel: update topology to use new MPIDR macros

This patch updates the topology initialization code to use the newly
defined accessors to retrieve the MPIDR affinity levels.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
arm: remove cast for kzalloc return value

remove cast for kzalloc return value.

Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
ARM: 7742/1: topology: export cpu_topology

The cpu_topology symbol is required by any driver using the topology
interfaces, which leads to a couple of build errors:

ERROR: "cpu_topology" [drivers/net/ethernet/sfc/sfc.ko] undefined!
ERROR: "cpu_topology" [drivers/cpufreq/arm_big_little.ko] undefined!
ERROR: "cpu_topology" [drivers/block/mtip32xx/mtip32xx.ko] undefined!

The obvious solution is to export this symbol.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: stable@vger.kernel.org
Cc: Nicolas Pitre <nico@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: topology: remove hwid/MPIDR dependency from cpu_capacity

Currently the topology code computes cpu capacity and stores it in
the list along with hwid(which is MPIDR) as it parses the CPU nodes
in the device tree. This is required as it needs to be mapped to the
logical CPU later.

Since the CPU device nodes can be retrieved in the logical ordering
using DT/OF helpers, its possible to store cpu_capacity also in logical
ordering and avoid storing hwid for each entry.

This patch removes hwid by making use of of_get_cpu_node.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>