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
improve code of battery driver
battery driver: simplify code
fix battery status
add more debug, disable by default
Add detect charger
add update battery status
Do not update battery status on connect to charger
disable own charge counter