Upstream Commits

exynos: Voltage control interfaces

Based on gokhanmoral's combo patch at:
https://github.com/gokhanmoral/siyahkernel3/commit/c9d9ad92c7c97c7df7b55968b04b34c50ef3ed9e

I prefer to do things in smaller chunks - voltage control first,
clock control later.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

mc1n2: Allow swapping of microphone ADC channels

The SGH-I777 libaudio has the configuration for
ADC0[0] and ADC0[1] swapped.

When using GT-I9100 libaudio, this results in
the microphones being improperly swapped between
the main mic and the NR mic near the earpiece.

This patch allows the mic channels to be swapped
within the driver to deal with incompatible libaudio.

It is configurable via
CONFIG_SND_SOC_MC1N2_MIC_ADC_SWAP in the defconfig
in case the SGH-I777 libaudio becomes available.

Change-Id: Id5738369f3614c6ccf710ac02ae96ee65eb4398b

currentwidget support based on Entropy512's commit in his GB kernel

cpufreq_conservative: Reduce minimum polling interval

Conservative's minimum polling interval is very long - this patch reduces
it so the user can tune it downwards, while still respecting hardware
transition_latency limits.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

cpufreq_conservative: Change default tuning settings

Half the polling rate, but more aggressive up/down thresholds.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

cpufreq_conservative: Bump default frequency step up to 10 from 5

Based on a better understanding of how the governor operates,
this is a better choice on most Exynos devices.

Change-Id: I8ed87e2b61f621138aa5a20951d8a70037e986a9
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

exynos-cpufreq: Ensure that scaling_available_frequencies is populated

Based on patches by netarchy

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

slicing-by-8 algorithm for crc32 and crc32c

mach-u1: Unmap HOME key GPIO on SGH-I777

This device doesn't have a HOME key - Having the GPIO
mapped and floating with no input leads to spurious
HOME key presses detected.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

u1-gpio: Add GPIO definitions for SGH-I777

max8997: Implement Accessory Charger Adapter support.

Accessory Charger Adapter is a device which allows one to power both
the OTG A- and B-devices. It identifies itself via a particular
pull-down value on the ID pin.

Accessory Charger Adapter is defined in Battery Charging Specification,
section 6.2 (as of rev 1.2).

Change-Id: I64c390d5c8300229df474d5fcf9d50aeb14bb6bc

Add some more gitignores

configs:  Regenerate for I9100, fix for I777

cypress-touchkey: Fix for SGH-I777

Some of these #defines look for CONFIG_TARGET_LOCALE_NAATT

This kernel uses NAATT_TEMP

Add the workaround from cypress-touchkey.c to the header
file

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

cypress-touchkey: Remove autocal test mode from I777

We don't use it, and it doesn't compile properly.

AT&T, Y U BREAK ALL TOUCH STUFF?

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

mxt224: Remove AT&T brokenness

AT&T loves to mangle their touchscreen drivers.

Remove that broken crap, we will behave just like
I9100 here.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>

configs:  Initial n7000 defconfig
d710 support

d710: mmc merge from ff18 src - fixes wimax

d710: fix rotation

d710: enable mhl

tabs: fix sensor config

Change-Id: I5b55cbcdebfaf6ab766a52c2a5c38a782e6b164f

cypress: cleanup debugging code

Change-Id: Idebf343a3e8c32a58acc4cdb74da14b154100914

add bootloader command to reboot

Change-Id: I337d65ea1dcc3cb1afe01832715ca2952c321875

d710: fix panel

d710: remove loopback device

d710: increase pwm_duty - thanks chris41g

add a little more to vibration

Permissions

Remove interactive governor to fix recovery crashes
Merge NA_SPR changes into SMDK Common Kernel

Add PRODUCT_SHIP

Merge all instances of CONFIG_TARGET_LOCALE_NA

Merge CONFIG_PANEL_U1_NA_SPR

More NA_SPR merges

Merge WIMAX_CMC

defconfig and initramfs stage1 changes

add CONFIG_SEC_MODEM_U1_SPR

revert to 4.6 GCC

ARM_CROSS_COMPILE
Upstream Commits

modem_if: make modem driver silent

Update mali based on I9305 JB sources

Change-Id: I52de6e478893cc3fa1690d14fd94576707dfac5f

configs: Update for r3p0 Mali

Change-Id: Ic131ff5246a752f78626804e4ee041c04e2a674d

s3cfb: Make vsync uevents optional

Legacy ICS hwcomposer implementations don't benefit from these,
so they just eat battery.  Make them optional until we have working
opensource HWC.

Change-Id: I74a2dbf9c20bf970912ee5b1975d02b24eeec0d0
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

configs: Regenerate for optional vsync uevents

Change-Id: If2f8e6e0618191e30d3c42fb8e11ba94aea97fa9

Upstream Commits

max8997_vibrator: remove hardcoded pwm_duty

the px boards have larger duty values, so with the hardcoded u1
values vibration is weak

patch set 2: replace pwm_duty_* macros with global variables

Change-Id: I8914095d329e2fddbe1ef4e1439b43a4b7dfc8cd

cpufreq: Move voltage control to 4210 file

This is CPU-specific, doesn't belong in general 4210 stuff

Change-Id: I5b92bfb23ca70f8b9aa54b8ddd2b1f47047e449f
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

cpufreq: Reset MAX8997 predefineds when needed

The MAX8997 stores up to 8 predefined voltage levels that can
be set rapidly using GPIOs.  If there are no predefineds,
"BUCK1 no predefined" errors are given.  This will happen
if the voltage table has been altered.  This resets the redefines
each time the table is altered.

Change-Id: I3ae17295cdf29d2577e0a26d932747e4120b0715
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

mm: Increase VM_MAX_READAHEAD

Change-Id: I127319fe84bbeb78a97bdb10ac43586b37eb18fa

Add SIO I/O scheduler

Change-Id: I3c4edf24c3747b488b8b6e457668a4b01edb727d

wakelock: use single threaded workqueueus

Avoid the concurrency management that could delay execution if there's
lots of workqueue traffic (and allow the runqueue to run on any CPU).

Lots of workqueue traffic can be generated by setting
ondemand/sampling_rate to 10000.

Change-Id: I55b8a223f4a389b93d49eef0d809eb1efe1790ba

Signed-off-by: Andrea Arcangeli <andrea@cpushare.com>

mali: Clean up arch

The arch directory is supposed to be a symlink to the proper
architecture directory.  Add orion-m400 and symlink to it.

(orion-m400 and pegasus-m400 seem to have the same config.h
but keep em' separate anyway.)

Change-Id: I70045baad8bb1538269ea2afc2e017b349598a34

mali: Fix bad file formatting.

Somehow this file wound up becoming Mac-formatted...

Change-Id: I89dcc22e4c88d71ef78b6a7e2d20280674632b37

mali: Update platform code.

Pull it from pegasus, remove the obvious Pegasus-specific crap,
and also enable Mali 3-step.

Not yet user-controllable.  That's for a later patch when
our GPU isn't gulping down juice.

Change-Id: Iaa8a026a944dbbf76aa3524639f983a1426d04fc
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

stand-hotplug:  Add enhanced tunables

Now has separate hotplugging rates for screen off/on.

Defaults to disallowing any additional cores when screen is
off.

Also allows hotplugging to be disabled until CPU frequency goes
over a certain thresholed - default 800 MHz.

WARNING:  Do not apply this to any kernel that will build for
devices with more than 2 cores.  Since the smdk4210 tree
only builds for dual-core devices this is fine, but
don't apply it to smdk4412 unless you want pain.

Change-Id: I4fba84ab351476f1f97732bc5a4cf3f180263f57
Signed-off-by: Andrew Dodd <atd7@cornell.edu>

mali: Fix for getting the subversion revision

Prevents compiler errors due to unescaped strings, ie:

    arm-eabi-gcc: error: directory: No such file or directory
    arm-eabi-gcc: error: directory": No such file or directory

Forward port from 3d59d993.

Change-Id: Ib4cdd0ae6f7bcc2641d1264197b15a58d1240a52

ump: Fix for getting the subversion revision

Prevents compiler errors due to unescaped strings, ie:

     arm-eabi-gcc: error: directory: No such file or directory
     arm-eabi-gcc: error: directory": No such file or directory

Forward port from fcaa34e2.

Change-Id: I06b03801801f43fbe87d544ea5e5720f660a56af

ARM: SMP: use a timing out completion for cpu hotplug

    ARM: SMP: use a timing out completion for cpu hotplug

    Rather than open-coding the jiffy-based wait, and polling for the
    secondary CPU to come online, use a completion instead.  This
    removes the need to poll, instead we will be notified when the
    secondary CPU has initialized.

    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Change-Id: I1be0fac91470ebc402bb0bdbed3011836565c490

mali: switch clksrc back to MPLL

In Tab 7 Plus and 7.7, Mali clocks are derived directly from
VPLL.  In all other Exynos 4210 devices, they are derived by
dividing MPLL which is always 800 MHz.

Exynos 4x12 devices also derive Mali clocks from VPLL, and
we just pulled their platform code.  Right now, all clock
requests are failing due to not having the right VPLL entries.

Go back to the old way of deriving Mali clocks until:
We add GPU clock control and more steps
We have the correct VPLL entries

config: Remove profiling, remove size optimization

Some of these might be the reason for modem interface stability
issues and GCC 4.4.3 stability issues.  Also disable compaction
and KSM.  None of these are present in Siyah which seems immune
to modem interface stability issues and is stable with 4.4.3

Change-Id: Icc19d87b9b17680ecd1d8f65476803a86859bdda
d710 defconfig

Change-Id: I19451ae616e6eb996c23b96d45071046e00e55d9
d710 configs: Regenerate for optional vsync uevents

Change-Id: I879fd4c82e11fae7575f3373dd9f5b1d728e41b1
Add some ION changes to mach-u1-spr
d710 config: Regenerate configs for new changes

add ondemand flexrate, might be useful with a power HAL.
add sio io scheduler, and set as default
enable KSM support
   enabled/disabled in Settings -> Performance -> Memory management
enable 1400mhz max clock speed
Add CONFIG_CMDLINE_APPEND_SERIAL to append serial to kernel cmdline

this fixes the issue of the bootloader no longer passing the serial to
the kernel and serial showing as unknown on some samsung devices
add module license to prevent kernel taint
d710 config: Remove profiling, remove size optimization