Set cpu voltage same as in stock kernel
Revert "add extra free kbytes tunable"

This reverts commit 8d56fb284247f701e6aad8f90baa0ee3110a362c.
add last_kmsg support, not sure if that works
Revert "add last_kmsg support, not sure if that works"

This reverts commit 4a12cb8bb19505edbac06aef1f3dc6fde587fc42.
disable ram_console
Update defconfig, disable usb-cpcap spam, fix bluetooth ifdefs
cpufreq: interactive: lets change the suspend code again

Instead of purely locking the freq to a certain value
we can just add some sort of limit for the suspend-code.
This means interactive suspends with 600Mhz and during the
deepsleep race the governor might to decide to go down to
300Mhz.
However, if there is any load during that time, the governor
might want to jump up again. Instead of letting it do so,
it only scales up to 600Mhz when the target_freq is in range
(meaning between 300 and 600 on a default setup).

Also deleting some deprecated stuff here and changing a
few tunables.
Lets wait for angry nightly reports :)

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: interactive: make freq decisions less aggressive

To avoid more unwanted freq-jumps don't scale up to max freq
on nearly each timer tick. Hopefully this will make
interactive a bit more conservative.

Also doing some random cleanups and silence a warning in dmesg.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
Add support reboot on very long power key hold
Part1: Update cpcap-firmware, cpcap stuff
Add suspend/resume for cpcap-irq
cpufreq: interactive: allow 1ms delay in above_hispeed_delay

Furthermore adjust tunables a bit.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: interactive: reset floor_validate_time for 100ms

During high CPU intensive workloads interactives timer won't
be adjusted. With this change the CPU can stay at least
100ms longer on the highest frequency to finish its work faster.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
fs: namespace: speed up mounting

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
workqueue: change cancel_work_sync() to clear work->data

In short: change cancel_work_sync(work) to mark this work as "never
queued" upon return.

When cancel_work_sync(work) succeeds, we know that this work can't be
queued or running, and since we own WORK_STRUCT_PENDING nobody can change
the bits in work->data under us. This means we can also clear the "cwq"
part along with _PENDING bit lockless before return, unless the work is
queued nobody can assume get_wq_data() is stable even under cwq->lock.

This change can speedup the subsequent cancel/flush requests, and as
Dmitry pointed out this simplifies the usage of work_struct's which
can be queued on different workqueues. Consider this pseudo code from
the input subsystem:

	struct workqueue_struct *WQ;
	struct work_struct *WORK;

	for (;;) {
		WQ = create_workqueue();
		...
		if (condition())
			queue_work(WQ, WORK);
		...
		cancel_work_sync(WORK);
		destroy_workqueue(WQ);
	}

If condition() returns T and then F, cancel_work_sync() will crash the
kernel because WORK->data still points to the already destroyed workqueue.
With this patch the code like above becomes correct.

Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
workqueue: add missing flag

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
tcp: lock tcp window size

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
Fix opprofdaemon init
Add own battery percentage calculate method, disabled by default
Add detect battery status