misc: add dynamic writeback interface

Before this patch, the deamon for flushing
dirty pages kicks in every 600 ms. This patch
changes the behaviour a little bit. While suspended
it flushes more pages (every 500 ms) and while the
the device is awake and in use it flushes only every
4 s to gain a little performance boost.

This is fully controllable;

echo 1 > /sys/class/misc/wirteback/writeback_enabled
(1 = On (default), 0 = off (and behaviour before this
patch).

Signed-off-by: Blechd0se <alex.christ@hotmail.de>

Conflicts:
	arch/arm/configs/mapphone_defconfig
	drivers/misc/Kconfig
	drivers/misc/Makefile
	mm/page-writeback.c
display: add basic display control

While i am trying to solve the wakeup delay i noticed
that the panel driver uses different brightness values
for different phones (red / green lense).
With a small display control driver those values
can be easily exposed to userspace.
Green ones used to have 0x09, those colors looked a bit
washed out.

echo xx > /sys/class/misc/display_control/display_brightness_value

Where xx can be (theoretically) a value between 0 and 255.
0  will set the screen to almost 0,
9  will set the screen to some kind of blue-washed colors,
31 will set the screen to more warmer colors (new default).

Signed-off-by: Blechd0se <alex.christ@hotmail.de>

Conflicts:
	arch/arm/configs/mapphone_defconfig
	drivers/video/omap2/displays/panel-mapphone.c
add extra free kbytes tunable

Add a userspace visible knob to tell the VM to keep an extra amount
of memory free, by increasing the gap between each zone's min and
low watermarks.

This is useful for realtime applications that call system
calls and have a bound on the number of allocations that happen
in any short time period.  In this application, extra_free_kbytes
would be left at an amount equal to or larger than than the
maximum number of allocations that happen in any burst.

It may also be useful to reduce the memory use of virtual
machines (temporarily?), in a way that does not cause memory
fragmentation like ballooning does.

[ccross]
Revived for use on old kernels where no other solution exists.
The tunable will be removed on kernels that do better at avoiding
direct reclaim.

Change-Id: I765a42be8e964bfd3e2886d1ca85a29d60c3bb3e
Signed-off-by: Rik van Riel<riel@redhat.com>
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Blechd0se <alex.christ@hotmail.de>

Conflicts:
	kernel/sysctl.c