opp: De-obscurify OPP structs and disclose find_device_opp

Move definitions of OPP structs in the header file so that its
members are public and the struct is no longer obscure.

Define interface for find_device_opp in the header file.

@Andreilux
busfreq: Add busfreq_data member for int_volt table (AndreiLux)
busfreq: Memory & internal voltage control (AndreiLux)
busfreq: Disable 400266 OPP as it is not used (AndreiLux)
busfreq: Remove dead code (AndreiLux)
buqfreq: Use cpu_load_slope correctly (AndreiLux)

The load slope is the delta from the current load to the last cpu load
sample.
It's only positive if the current load exceeds the last load, so why is
it scaling
down a step if the load is actually higher? It makes no sense.

Change it to correctly scale down a step if the load slope exceeds the
load
slope size.
mms-ts: Re-enable verbose debug.

caused Merge error from last OSRC updates
mdnie-control: Correctly provide the pointers of the scenarios (AndreiLux)
sensorhub: update driver to 102600
fs-fuse: Assure that new page is not a CMA page
sensors: update device sensors
melfas-ts: Note firmware update
zram: Consider low pages in the lowmemorykiller
rtc: Forcefully set register twice
scheduler: Re-compute time-average nr_running on read
scheduler: compute time-average nr_running per run-queue

mixed commit (Alex Frid, Diwakar Tundlam)
pegasusq: Replace governor nr_running logic (AndreiLux)

Remove pegasusq's own nr_running() averaging logic and replace it with
Nvidia's avg_nr_running() in-scheduler collecting mechanism.

Compared to the old logic, the new one is able to do absolutely exact
runqueue monitoring as it is averaging deep inside the scheduler, whilst
the old logic could only do snap-shots every 10ms.

Furthermore, we're able to decrease runqueue peaks and lows by the
sliding-window averaging done by avg_nr_running(), averaging runqueues
over 134ms and retaining the precision.

We also remove a whole separate workqueue from the kernel and a lot of
overhead and code from inside the governor.
binfmt_elf.c: use get_random_int() to fix entropy depleting (Pibroch)

Changes:
--------
v4->v3:
- s/random_stack_user()/get_atrandom_bytes()/
- Move this function to ahead of its use to avoid the predeclaration.

v3->v2:
- Tweak code comments of random_stack_user().
- Remove redundant bits mask and shift upon the random variable.

v2->v1:
- Fix random copy to check up buffer length that are not 4-byte multiples.

v3 can be found at:
http://www.spinics.net/lists/linux-fsdevel/msg59597.html
v2 can be found at:
http://www.spinics.net/lists/linux-fsdevel/msg59418.html
v1 can be found at:
http://www.spinics.net/lists/linux-fsdevel/msg59128.html

Thanks,
-Jeff

Entropy is quickly depleted under normal operations like ls(1), cat(1),
etc...  between 2.6.30 to current mainline, for instance:

$ cat /proc/sys/kernel/random/entropy_avail
3428
$ cat /proc/sys/kernel/random/entropy_avail
2911
$cat /proc/sys/kernel/random/entropy_avail
2620

We observed this problem has been occurring since 2.6.30 with
fs/binfmt_elf.c: create_elf_tables()->get_random_bytes(), introduced by
f06295b ("ELF: implement AT_RANDOM for glibc PRNG seeding").

/*
 * Generate 16 random bytes for userspace PRNG seeding.
 */
get_random_bytes(k_rand_bytes, sizeof(k_rand_bytes));

The patch introduces a wrapper around get_random_int() which has lower
overhead than calling get_random_bytes() directly.

With this patch applied:
$ cat /proc/sys/kernel/random/entropy_avail
2731
$ cat /proc/sys/kernel/random/entropy_avail
2802
$ cat /proc/sys/kernel/random/entropy_avail
2878

Analyzed by John Sobecki.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andreas Dilger <aedilger@gmail.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Arnd Bergmann <arnn@arndb.de>
Cc: John Sobecki <john.sobecki@oracle.com>
Cc: James Morris <james.l.morris@oracle.com>
Cc: Jakub Jelinek <jakub@redhat.com>
Cc: Ted Ts'o <tytso@mit.edu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ulrich Drepper <drepper@redhat.com>
samsung-battery: Reduce battery-monitor wakelock timeouts
Changed Samsung Exynos-mem official fix
mmc: mshci debugging for Host timeout error
Signed-off-by: Andrei F <luxneb@gmail.com>