Add initial Samsung msm7x27 board & MAX8899 PMIC support

Boards supported:
 * Beni
 * Callisto
 * Cooper
 * Europa
 * Gio
 * Lucas
 * Tass
 * TassDT

Note: merged board file based on work by WaylandAce for the
2.6.37 kernel. Thanks to him.
Samsung msm7x27 battery drivers

* Beni
* Callisto
* Cooper
* Europa
* Gio
* Lucas
* Tass
* TassDT
Samsung msm7x27 keypad drivers

* Beni
* Callisto
* Europa
* Cooper
* Gio
* Lucas
* Tass
* TassDT
Add Samsung 3.5 PI EAR_JACK driver
Samsung msm7x27: add board_hw_revision detection
Samsung msm7x27: ARM9 over UART3 support
Samsung msm7x27: TinyFSR & DPRAM drivers
Samsung msm7x27: add FSR driver

Note: based on partial source release of Eclair GT-I5500, with
updates from later TFSR revisions & kernel 3.0.x fixes applied.

Only tested on GT-I5500.
Samsung msm7x27: add PARAM (sec_param) driver

Note: found in SPH-M580 source release, and adapted to work on
GT-I5500 (Froyo bootloader). Not tested on other devices with
different param partition ID or newer bootloaders.
Samsung msm7x27: add I2C chip drivers

* BMA22X/BMA023 accelerometer
* FSA9280 USB accessory/switch driver
* GP2A light sensor
* KR3DM accelerometer
* MECS/MMC31XX compass sensor
* TAOS light sensor
Samsung msm7x27: add touchscreen drivers

Touchscreens:
* mXT140
* Melfas
* Synaptics RMI4 (conflicts with staging driver; config name changed)
Samsung msm7x27: fix fbcon logo issue
Samsung msm7x27: LCD panel drivers & MDP30 support fix

Panels added:
 * s6d04d1
 * s6d04h0a
 * s6d04m0
 * s6d05a0
 * sd16a0x

Conflicts:
	drivers/video/msm/mdp_dma_lcdc.c
Samsung msm7x27: initial GT-I5500 defconfig (testing)
Add keypad_device_surf_xx for cooper and gio
ARM: Force software TLS on ARMv6.

Adapted for Samsung msm7x27 series kernel by psyke83
Add cooper support

Conflicts:
	drivers/video/msm/lcdc_s6d16a0x_cooper.c
taos: clean a mess after Samsung, compile fix for 3.0 kernel
fix compile error, when touchscreen driver is disabled and board is cooper, gio, beni or tass
lcdc_cooper: enable back regulator