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: topology: save cpu id of each core
ARM: topology: Update topology according to current sched_mc mode
ARM: topology: Add a cpu_power function
ARM: topology: Add a topology update notification
ARM: cpu topology: Add asym topology flag for using cpu0 1st

Modify the CPU sched_domain flags in powersave mode for using the cpu0 in ched_mc powersave mode

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
ARM: cpu topology: add debugfs
sched_features: enable arch_power
random: increase entropy levels (both read and write)
mali/midas-power: Decrease minimum voltage boundary (V2)

V2 has minimum voltages of 500 mV instead of 600 mV

mali:
Decrease minimum voltage initialisation data for MAX77686 on buck3 rail / vdd_g3d to minimum value as defined in regulator driver.
Decrease minimum voltage soft-limit in GPU voltage control to same value.

midas-power.c: Adjust min/max voltages of several regulators to properly support undervolting

Conflicts:
	arch/arm/mach-exynos/midas-power.c
cpuidle-exynos4: Remove debug logging
cpufreq: Added Wheatley governor

Credits to Ezekeel
cypress-touchkey : add sysfs interface to enable/disable lighting hardwarekey backlight on screen touch (Yank555.lu)

- include new CM philosophy of handling h/w keys backlight from the ROM (Yank555.lu)
- kept the old sysfs interface and handling for older ROMs (Yank555.lu)
- kept the sysfs interface to enable/disable lighting hardwarekey backlight on screen touch (Yank555.lu)

SysFS interface :

 * /sys/class/sec/sec_touchkey/touch_led_handling (rw)
 *
 *   0 - handled by ROM (newer CM10.2, default)
 *   1 - handled by kernel (older CM10.2)
 *
 * /sys/class/sec/sec_touchkey/touch_led_on_screen_touch (rw)
 *
 *   0 - hardware keys backlight only lights up if h/w keys are used
 *   1 - hardware keys backlight lights up if h/w keys are used or screen is touched (default)
cypress-touchkey : add force_disable handling also for rom controlled scenario
[sc03e] Regenerate defconfig