bln: Revert all BLN changes

Lot of users are complaining so we will revert this when nobody complained about it. Who wants blinkkinh he can use button led app.
sync i9070P and i9070 kernel configs
Merge pull request #17 from akfaew/3.0.101

sync i9070P and i9070 kernel configs
tspdrv: sysfs interface to tweak vibration intensity

Strongest vibration = 0
Weakest vibration = 60

Change the value in "sys/vibrator/pwm_value" between 0 and 60.
From 92189d47f66c67e5fd92eafaa287e153197a454f Mon Sep 17 00:00:00 2001
From: Rik van Riel <riel@redhat.com>
Date: Thu, 1 Sep 2011 15:26:50 -0400
Subject: [PATCH] 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>
---
 Documentation/sysctl/vm.txt | 16 ++++++++++++++++
 kernel/sysctl.c             |  9 +++++++++
 mm/page_alloc.c             | 32 +++++++++++++++++++++++++-------
 3 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 96f0ee8..9c11d97 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -28,6 +28,7 @@ Currently, these files are in /proc/sys/vm:
 - dirty_writeback_centisecs
 - drop_caches
 - extfrag_threshold
+- extra_free_kbytes
 - hugepages_treat_as_movable
 - hugetlb_shm_group
 - laptop_mode
@@ -168,6 +169,21 @@ fragmentation index is <= extfrag_threshold. The default value is 500.

 ==============================================================

+extra_free_kbytes
+
+This parameter tells the VM to keep extra free memory between the threshold
+where background reclaim (kswapd) kicks in, and the threshold where direct
+reclaim (by allocating processes) kicks in.
+
+This is useful for workloads that require low latency memory allocations
+and have a bounded burstiness in memory allocations, for example a
+realtime application that receives and transmits network traffic
+(causing in-kernel memory allocations) with a maximum total message burst
+size of 200MB may need 200MB of extra free memory to avoid direct reclaim
+related latencies.
+
+==============================================================
+
 hugepages_treat_as_movable

 This parameter is only useful when kernelcore= is specified at boot time to
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 49f47258..f419dcd 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -102,6 +102,7 @@ extern char core_pattern[];
 extern unsigned int core_pipe_limit;
 extern int pid_max;
 extern int min_free_kbytes;
+extern int extra_free_kbytes;
 extern int min_free_order_shift;
 extern int pid_max_min, pid_max_max;
 extern int sysctl_drop_caches;
@@ -1200,6 +1201,14 @@ static struct ctl_table vm_table[] = {
 		.extra1		= &zero,
 	},
 	{
+		.procname	= "extra_free_kbytes",
+		.data		= &extra_free_kbytes,
+		.maxlen		= sizeof(extra_free_kbytes),
+		.mode		= 0644,
+		.proc_handler	= min_free_kbytes_sysctl_handler,
+		.extra1		= &zero,
+	},
+	{
 		.procname	= "min_free_order_shift",
 		.data		= &min_free_order_shift,
 		.maxlen		= sizeof(min_free_order_shift),
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 035fbe9..9358b2c 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -191,9 +191,21 @@ static char * const zone_names[MAX_NR_ZONES] = {
 	 "Movable",
 };

+/*
+ * Try to keep at least this much lowmem free.  Do not allow normal
+ * allocations below this point, only high priority ones. Automatically
+ * tuned according to the amount of memory in the system.
+ */
 int min_free_kbytes = 1024;
 int min_free_order_shift = 1;

+/*
+ * Extra memory for the system to try freeing. Used to temporarily
+ * free memory, to make space for new workloads. Anyone can allocate
+ * down to the min watermarks controlled by min_free_kbytes above.
+ */
+int extra_free_kbytes = 0;
+
 static unsigned long __meminitdata nr_kernel_pages;
 static unsigned long __meminitdata nr_all_pages;
 static unsigned long __meminitdata dma_reserve;
@@ -4990,6 +5002,7 @@ static void setup_per_zone_lowmem_reserve(void)
 void setup_per_zone_wmarks(void)
 {
 	unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10);
+	unsigned long pages_low = extra_free_kbytes >> (PAGE_SHIFT - 10);
 	unsigned long lowmem_pages = 0;
 	struct zone *zone;
 	unsigned long flags;
@@ -5001,11 +5014,14 @@ void setup_per_zone_wmarks(void)
 	}

 	for_each_zone(zone) {
-		u64 tmp;
+		u64 min, low;

 		spin_lock_irqsave(&zone->lock, flags);
-		tmp = (u64)pages_min * zone->present_pages;
-		do_div(tmp, lowmem_pages);
+		min = (u64)pages_min * zone->present_pages;
+		do_div(min, lowmem_pages);
+		low = (u64)pages_low * zone->present_pages;
+		do_div(low, vm_total_pages);
+
 		if (is_highmem(zone)) {
 			/*
 			 * __GFP_HIGH and PF_MEMALLOC allocations usually don't
@@ -5029,11 +5045,13 @@ void setup_per_zone_wmarks(void)
 			 * If it's a lowmem zone, reserve a number of pages
 			 * proportionate to the zone's size.
 			 */
-			zone->watermark[WMARK_MIN] = tmp;
+			zone->watermark[WMARK_MIN] = min;
 		}

-		zone->watermark[WMARK_LOW]  = min_wmark_pages(zone) + (tmp >> 2);
-		zone->watermark[WMARK_HIGH] = min_wmark_pages(zone) + (tmp >> 1);
+		zone->watermark[WMARK_LOW]  = min_wmark_pages(zone) +
+					low + (min >> 2);
+		zone->watermark[WMARK_HIGH] = min_wmark_pages(zone) +
+					low + (min >> 1);
 		setup_zone_migrate_reserve(zone);
 		spin_unlock_irqrestore(&zone->lock, flags);
 	}
@@ -5131,7 +5149,7 @@ module_init(init_per_zone_wmark_min)
 /*
  * min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so
  *	that we can call two helper functions whenever min_free_kbytes
- *	changes.
+ *	or extra_free_kbytes changes.
  */
 int min_free_kbytes_sysctl_handler(ctl_table *table, int write,
 	void __user *buffer, size_t *length, loff_t *ppos)
--
1.9.3
ARM Crypto support

enable SHA1 and AES optimized versions on assembler
Use NEON instructions for bit sliced AES

Change-Id: I981e42febe72f265274f1e9463d9d55746498931
Revert ASM changes to fix reboot issues

Also fix a possible memory leak on the SLUB memory allocator.

Change-Id: Iac5445ea8df1415b1182b467174310a36c7d6ede
Minor general kernel update
KINGbabasula Fixed boot on janice with kernel built with GCC 4.7 and 4.8 https://github.com/KINGbabasula/KING_kernel/commit/45320602ac9eb570c2eb80c62a37f1b8cb854226
KINGbabasula Ported fixes from Linaro to build with GCC 4.8 https://github.com/KINGbabasula/KING_kernel/commit/f5876772f718293b33987c3790bf91d4a5689ee0
Paul-L Enable SELinux on kernel
Paul-L Allow custom boot arguments to be passed to the kernel on top of the bootloader ones.

(I hope didn't miss anyone)

Change-Id: Ic5b30534a8945d562e8433176d40a07fc7635b71
Revert "defconfig: new zram zsmalloc entries (boype)"

This reverts commit a715c190d8eb59679dc13d05f851896899be56d2.
Revert "apply drivers-staging-zsmalloc-backport-zsmalloc-from-3.7-kernel.patch"

This reverts commit 0bbbe6b186c831ee2c0468c870219729b0450944.
Revert "apply drivers-staging-zram-backport-zram-from-3.7-kernel-a.patch"

This reverts commit c2b160f9786517b52a86a49d94219b372fc5514a.
Remove unneeded files
cpufreq: Optimize cpufreq_frequency_table_verify()

cpufreq_frequency_table_verify() is rewritten here to make it more logical
and efficient.
 - merge multiple lines for variable declarations together.
 - quit early if any frequency between min/max is found.
 - don't call cpufreq_verify_within_limits() in case any valid freq is
   found as it is of no use.
 - rename the count variable as found and change its type to boolean.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Codina defconfigs update

@Paul-L Enable SELinux on kernel
@Paul-L Allow custom boot arguments to be passed to the kernel on top of
the bootloader ones.
Revert "Kernel: add JRCU"

This reverts commit 1114cbcca0990eec9006b184fff234949f172ad9.
Revert "power/main: Update from CoCore"

This reverts commit afa644b91de007f0f6302e6c17d50b792f87cd69.
Revert "Dump config (CoCore)"

This reverts commit 9cf622ef29deab225be23fd1f542e2fb4c193ddf.
Merge branch '3.0.101' of github.com:TeamCanjica/Samsung_STE_Kernel into 3.0.101

Conflicts:
	drivers/misc/bln.c