Revert "mdnie: Switchable sharpness fix (V2) t0 adaptation"

This reverts commit 5527a75878d3d95ffa912e5f0fee371277150827.
Revert "mdnie: Switchable sharpness fix (V2)"

This reverts commit 8a150c5c075a369893a20895fcd178d6bbf8a1fe.
Revert "mdnie: black crush fix t0"

This reverts commit fe841c76069f700663f16d14faa0ba2fcefe5a71.
s3cfb_s6e8aa0: Decrease driver verbosity

It stops driver from clobbering kmsg entirely.

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

- prevent h/w keys to light up on late_resume as well if disabled
cifs: enable mounting cifs drives visible to all apps (tomkasick)

Restrict slave mountspace so Dalvik apps can mount system-wide volumes

Android 4.2 implements multi-user storage using per-process mount
namespaces. Everything under "/" (the entire filesystem hierarchy) is
marked as a recursive-slave mountspace for all zygote instances. This is
done so that user-storage sandbox mounts under /storage/emulated are hidden
from other apps and users.

Unfortunately this means that any Dalvik app (actually, any program whose
clone/fork ancestry includes a Dalvik zygote, which is everything except
services spawned directly from init) cannot mount system-wide volumes.
Thus, apps like CifsManager are effectively broken in Android 4.2, since
its cifs mounts are only visible to the CifsManager app itself. All other
apps see empty mountpoints instead of the mounted volume. Furthermore,
Linux provides no provision for a process to "escape" a recursive-slave
mountspace in versions prior to Linux 3.8 (setns syscall).

Here, we restrict rootfs-slave calls to /storage (and, due to a possible
kernel bug, /mnt/shell/emulated) so that Dalvik apps can mount system-wide
volumes elsewhere (with appropriate permission, as in earlier versions of
Android), while retaining full multi-user storage compatibility. It is
made available as a kernel-based workaround for instances where libdvm can
not be modified.

This change requires that a tmpfs volume is mounted as /storage in init.rc.
If this volume is unavailable, then we falls back to the previous behavior
of marking the entire filesystem hierarchy as slave.

*** Do not commit to CyanogenMod Project kernels, as a similar workaround
for this problem is patched in Zygote/Dalvik/libdvm instead. ***
Boeffla-Sound: Engine 1.6.5

- allow speaker minimum level of 20
mdnie : mdnie mode hijack (Yank555.lu)

 * SysFs interface :
 *
 * /sys/class/mdnie/mdnie/hijack : 0 = disbaled / 1 = enabled
 *
 *    Enable / Disable hijacking of mdnie settings (default = disabled)
 *
 * /sys/class/mdnie/mdnie/sharpen : 0 = disbaled / 1 = enabled
 *
 *    Enable / Disable screen sharpness (default = enabled, stock Samsung Update 12+)
 *
 * /sys/class/mdnie/mdnie/black : -128 to +128
 *
 *    Global black level, will shift black RGB setting by this value (default = 0)
 *
 *    NB: Effectively applied values for black will never be below 0 nor above 255 !
 *
 *        So there is no use setting Black RGB to (0,0,0) and this to -10, the result
 *        will still be (0,0,0).
 *
 * /sys/class/mdnie/mdnie/{color}_red   : 0 to 255
 * /sys/class/mdnie/mdnie/{color}_green : 0 to 255
 * /sys/class/mdnie/mdnie/{color}_blue  : 0 to 255
 *
 *    Allows to set the RGB values for the base colors :
 *
 *      - red
 *      - green
 *      - blue
 *      - cyan
 *      - magenta
 *      - yellow
 *      - black
 *      - white
 *
 *    (default = Samsung's natural mode)
mdnie : mdnie mode hijack (Yank555.lu) (t0 adaptation-psndna88)
Added v3.8 defconfig and updated build script