cpufreq: add touchdemand governor

Conflicts:
	drivers/cpufreq/Kconfig
cpufreq: touchdemand: add touch factor, a down differential multiplier
tweak some values as well
cpufreq: touchdemand: more balanced defaults
cpufreq: touchdemand: add touch minimum core number lock and tweak values
Input: Send events one packet at a time

On heavy event loads, such as a multitouch driver, the irqsoff latency
can be as high as 250 us.  By accumulating a frame worth of data
before passing it on, the latency can be dramatically reduced.  As a
side effect, the special EV_SYN handling can be removed, since the
frame is now atomic.

This patch adds the events() handler callback and uses it if it
exists. The latency is improved by 50 us even without the callback.

Change-Id: Iebd9b1868ae6300a922a45b6d104e7c2b38e4cf5
Cc: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>

Input: Improve the events-per-packet estimate

The events-per-packet estimate has so far been used by MT devices
only. This patch adjusts the packet buffer size to also accomodate the
KEY and MSC events.  Keyboards normally send one or two keys at a
time. MT devices normally send a number of button keys along with the
MT information.  The buffer size chosen here covers those cases, and
matches the default buffer size in evdev. Since the input estimate is
now preferred, remove the special input-mt estimate.

Reviewed-and-tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
tegra: lower G min and touch floor min

Conflicts:
	arch/arm/mach-tegra/tegra3_clocks.c
cpufreq: touchdemand: increase up threshold and decrease sampling rate
cpufreq: touchdemand: increase up threshold to 98
mach-tegra: tegra3_clocks: adjusting idx for min/max
arm: mm: fixing 'offset.un' may be used uninitialized in this function
net / netfilter: remove annoying 'comparison will always be true' warning

-adding a new function which avoids this warning
-using the new function in all places where it makes no sense to check

Conflicts:

	net/netfilter/xt_qtaguid.c
netfilter: xt_log.h: fix warning: value computed is not used
arch/arm/return_address.c: hide annoying warning
KozmiKKernel: Switching to AOKP ramdisk
Patch: drivers: misc: ti-st: Updating to Nvidia reference branch l4t/l4t-r16-r2
mach-tegra: board-endeavoru.c: Uncommenting gps components
patch: build wifi drivers from source
drivers: net: wireless: wl12xx: Use HTC firmware
arch: arm: mm: Adding dma-na-mapping.c from Nvidia reference branch l4t/l4t-r16-r2 to enable NON_ALIASED_COHERENT_MEM
Revert: include: mm: increase readahead buffer