add cyanogenmod_grouper_defconfig

cped from tegra3_android_defconfig
grouper: add cifs module

Change-Id: Iac84f9a29accedd4da57c78036507925b658f5b4
Set as-instr to use printf intsead of echo

as-instr was hardcoded to use /bin/echo with the -e option.
Non-GNU systems like MacOSX would fail and cause compiler errors.

Since BSD echo does not have the -e option (escape backslashes)
prinf was used instead would should be more friendly cross-platform

Specifically with the new OSX toolchain it caused the following
error:
  Error: selected processor does not support ARM mode `smc #0'

This was caused by $(call as-instr,.arch_extension sec,+sec) failing
since it was using echo -e.

See: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

  "It is not possible to use echo portably across all POSIX systems
   unless both -n (as the first argument) and escape sequences are
   omitted.

  The printf utility can be used portably to emulate any of the
  traditional behaviors of the echo utility as follows (assuming
  that IFS has its standard value or is unset)

  New applications are encouraged to use printf instead of echo."

Change-Id: I558ec343e9bb8d449e1af710d329b4dc76743a05
Block: Add the BFQ-v4 I/O scheduler to 3.1

Add the BFQ-v4 I/O scheduler to 3.1.
The general structure is borrowed from CFQ, as much code. A
(bfq_)queue is associated to each task doing I/O on a device,
and each time a scheduling decision has to be taken a queue is
selected and it is served until it expires.

    - Slices are given in the service domain: tasks are
      assigned budgets, measured in number of sectors. Once got
      the disk, a task must however consume its assigned budget
      within a configurable maximum time (by default, the
      maximum possible value of the budgets is automatically
      computed to comply with this timeout). This allows the
      desired latency vs "throughput boosting" tradeoff to be
      set.

    - Budgets are scheduled according to a variant of WF2Q+,
      implemented using an augmented rb-tree to take
      eligibility into account while preserving an O(log N)
      overall complexity.

    - A low-latency tunable is provided; if enabled, both
      interactive and soft real-time applications are
      guaranteed very low latency.

    - Latency guarantees are preserved also in presence of NCQ.

    - High throughput with flash-based devices, while still
      preserving latency guarantees.

    - Useful features borrowed from CFQ: cooperating-queues
      merging (with some additional optimizations with respect
      to the original CFQ version), static fallback queue for
      OOM.

    - BFQ supports full hierarchical scheduling, exporting a
      cgroups interface.  Each node has a full scheduler, so
      each group can be assigned its own ioprio and an
      ioprio_class.

    - If the cgroups interface is used, weights can be
      explictly assigned, otherwise ioprio values are mapped
      to weights using the relation
      weight = IOPRIO_BE_NR - ioprio.

    - ioprio classes are served in strict priority order,
      i.e., lower priority queues are not served as long as
      there are higher priority queues.  Among queues in the
      same class the bandwidth is distributed in proportion to
      the weights of each queue. A very thin extra bandwidth
      is however guaranteed to the Idle class, to prevent it
      from starving.

Signed-off-by: Paul Beeler <sparksco@gmail.com>
Config:  Enable BFQ I/O Scheduler
and BFQ hierarchical scheduling support

Depends on http://review.cyanogenmod.com/#/c/20875/10

BFQ I/O Scheduler

	- The BFQ I/O scheduler tries to distribute bandwidth among
	   all processes according to their weights.
	   It aims at distributing the bandwidth as desired, independently of
	   the disk parameters and with any workload. It also tries to
	   guarantee low latency to interactive and soft real-time
	   applications.

BFQ hierarchical scheduling support

	- Enable hierarchical scheduling in BFQ, using the cgroups
	  filesystem interface.  The name of the subsystem will be
	  bfqio.

Signed-off-by: Paul Beeler <sparksco@gmail.com>
bq27541: Add current_now property

The current is returned by the charger as a twos
complement signed integer in milliamps.  Applications
such as CurrentWidget expect this to be microamps.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>
Change-Id: I053b3d1f24ec04391e982fdcb4b3486241c3aa34
bq27541: Correct scaling of voltage_now

This is supposed to return the voltage in uV, not mV.

Change-Id: I13f084f8c5f41f89a7e6c7cfd86e8806229a159b
Signed-off-by: Andrew Dodd <atd7@cornell.edu>
Revert "Increase max readahead to 1024k"

This reverts commit 35aa7a5268ff971438b41e0913df485b3d7d6f81.

This is handled in init.grouper.rc
Merge "Block: Add the BFQ-v4 I/O scheduler to 3.1" into jellybean
Merge "Config:  Enable BFQ I/O Scheduler and BFQ hierarchical scheduling support" into jellybean
Merge remote-tracking branch 'cm/jellybean' into testing

Conflicts:
	block/Makefile