[Galaxy 3 Android Development] cdesai:
Difference in drivers/input

diff -crB linux/drivers/input/evdev.c g3/drivers/input/evdev.c
*** linux/drivers/input/evdev.c	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/evdev.c	2011-02-26 04:41:40.000000000 -0800
***************
*** 20,25 ****
--- 20,26 ----
#include <linux/input.h>
#include <linux/major.h>
#include <linux/device.h>
+ #include <linux/wakelock.h>
#include "input-compat.h"

struct evdev {
***************
*** 43,48 ****
--- 44,51 ----
struct fasync_struct *fasync;
struct evdev *evdev;
struct list_head node;
+	struct wake_lock wake_lock;
+	char name[28];
};

static struct evdev *evdev_table[EVDEV_MINORS];
***************
*** 55,60 ****
--- 58,64 ----
* Interrupts are disabled, just acquire the lock
*/
spin_lock(&client->buffer_lock);
+	wake_lock_timeout(&client->wake_lock, 5 * HZ);
client->buffer[client->head++] = *event;
client->head &= EVDEV_BUFFER_SIZE - 1;
spin_unlock(&client->buffer_lock);
***************
*** 71,78 ****
struct evdev *evdev = handle->private;
struct evdev_client *client;
struct input_event event;

!	do_gettimeofday(&event.time);
event.type = type;
event.code = code;
event.value = value;
--- 75,85 ----
struct evdev *evdev = handle->private;
struct evdev_client *client;
struct input_event event;
+	struct timespec ts;

!	ktime_get_ts(&ts);
!	event.time.tv_sec = ts.tv_sec;
!	event.time.tv_usec = ts.tv_nsec / NSEC_PER_USEC;
event.type = type;
event.code = code;
event.value = value;
***************
*** 233,238 ****
--- 240,246 ----
mutex_unlock(&evdev->mutex);

evdev_detach_client(evdev, client);
+	wake_lock_destroy(&client->wake_lock);
kfree(client);

evdev_close_device(evdev);
***************
*** 269,274 ****
--- 277,285 ----
}

spin_lock_init(&client->buffer_lock);
+	snprintf(client->name, sizeof(client->name), "%s-%d",
+	dev_name(&evdev->dev), task_tgid_vnr(current));
+	wake_lock_init(&client->wake_lock, WAKE_LOCK_SUSPEND, client->name);
client->evdev = evdev;
evdev_attach_client(evdev, client);

***************
*** 332,337 ****
--- 343,350 ----
if (have_event) {
*event = client->buffer[client->tail++];
client->tail &= EVDEV_BUFFER_SIZE - 1;
+	if (client->head == client->tail)
+	wake_unlock(&client->wake_lock);
}

spin_unlock_irq(&client->buffer_lock);
diff -crB linux/drivers/input/Kconfig g3/drivers/input/Kconfig
*** linux/drivers/input/Kconfig	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/Kconfig	2011-02-26 04:41:40.000000000 -0800
***************
*** 56,62 ****

config INPUT_MOUSEDEV
tristate "Mouse interface" if EMBEDDED
!	default y
---help---
Say Y here if you want your mouse to be accessible as char devices
13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
--- 56,62 ----

config INPUT_MOUSEDEV
tristate "Mouse interface" if EMBEDDED
!	default n
---help---
Say Y here if you want your mouse to be accessible as char devices
13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
***************
*** 149,154 ****
--- 149,163 ----
To compile this driver as a module, choose M here: the
module will be called apm-power.

+ config INPUT_KEYRESET
+	tristate "Reset key"
+	depends on INPUT
+	---help---
+	Say Y here if you want to reboot when some keys are pressed;
+
+	To compile this driver as a module, choose M here: the
+	module will be called keyreset.
+
config XEN_KBDDEV_FRONTEND
tristate "Xen virtual keyboard and mouse support"
depends on XEN_FBDEV_FRONTEND
diff -crB linux/drivers/input/keyboard/Kconfig g3/drivers/input/keyboard/Kconfig
*** linux/drivers/input/keyboard/Kconfig	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/keyboard/Kconfig	2011-02-26 04:41:40.000000000 -0800
***************
*** 423,426 ****
--- 423,437 ----
To compile this driver as a module, choose M here: the
module will be called w90p910_keypad.

+ config KEYPAD_S3C
+ tristate "S3C keypad support"
+ depends on (CPU_S3C6400 || CPU_S3C6410 || CPU_S5PC100 || CPU_S5PC110 || CPU_S5P6442)
+ default n
+ help
+ Say Y here if you want to use the S3C SMDK keypad.
+ To compile this driver as a module, choose M here: the
+ module will be called s3c-keypad.
+
endif
+
+
diff -crB linux/drivers/input/keyboard/Makefile g3/drivers/input/keyboard/Makefile
*** linux/drivers/input/keyboard/Makefile	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/keyboard/Makefile	2011-02-26 04:41:40.000000000 -0800
***************
*** 37,39 ****
--- 37,40 ----
obj-$(CONFIG_KEYBOARD_TWL4030)	+= twl4030_keypad.o
obj-$(CONFIG_KEYBOARD_XTKBD)	+= xtkbd.o
obj-$(CONFIG_KEYBOARD_W90P910)	+= w90p910_keypad.o
+ obj-$(CONFIG_KEYPAD_S3C) += s3c-keypad.o
\ No newline at end of file
Only in g3/drivers/input/keyboard: s3c-keypad.c
Only in g3/drivers/input/keyboard: s3c-keypad.h
Only in g3/drivers/input: keyreset.c
diff -crB linux/drivers/input/Makefile g3/drivers/input/Makefile
*** linux/drivers/input/Makefile	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/Makefile	2011-02-26 04:41:40.000000000 -0800
***************
*** 23,27 ****
--- 23,28 ----
obj-$(CONFIG_INPUT_MISC)	+= misc/

obj-$(CONFIG_INPUT_APMPOWER)	+= apm-power.o
+ obj-$(CONFIG_INPUT_KEYRESET)	+= keyreset.o

obj-$(CONFIG_XEN_KBDDEV_FRONTEND)	+= xen-kbdfront.o
Only in g3/drivers/input/misc: gpio_axis.c
Only in g3/drivers/input/misc: gpio_event.c
Only in g3/drivers/input/misc: gpio_input.c
Only in g3/drivers/input/misc: gpio_matrix.c
Only in g3/drivers/input/misc: gpio_output.c
diff -crB linux/drivers/input/misc/Kconfig g3/drivers/input/misc/Kconfig
*** linux/drivers/input/misc/Kconfig	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/misc/Kconfig	2011-02-26 04:41:40.000000000 -0800
***************
*** 132,137 ****
--- 132,148 ----
To compile this driver as a module, choose M here: the module will be
called ati_remote2.

+ config INPUT_KEYCHORD
+	tristate "Key chord input driver support"
+	help
+	Say Y here if you want to enable the key chord driver
+	accessible at /dev/keychord. This driver can be used
+	for receiving notifications when client specified key
+	combinations are pressed.
+
+	To compile this driver as a module, choose M here: the
+	module will be called keychord.
+
config INPUT_KEYSPAN_REMOTE
tristate "Keyspan DMR USB remote control (EXPERIMENTAL)"
depends on EXPERIMENTAL
***************
*** 240,245 ****
--- 251,261 ----
To compile this driver as a module, choose M here: the module will be
called winbond_cir.

+ config INPUT_GPIO
+	tristate "GPIO driver support"
+	help
+	Say Y here if you want to support gpio based keys, wheels etc...
+
config HP_SDC_RTC
tristate "HP SDC Real Time Clock"
depends on (GSC || HP300) && SERIO
Only in g3/drivers/input/misc: keychord.c
diff -crB linux/drivers/input/misc/Makefile g3/drivers/input/misc/Makefile
*** linux/drivers/input/misc/Makefile	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/misc/Makefile	2011-02-26 04:41:40.000000000 -0800
***************
*** 12,19 ****
--- 12,21 ----
obj-$(CONFIG_INPUT_CM109)	+= cm109.o
obj-$(CONFIG_INPUT_COBALT_BTNS)	+= cobalt_btns.o
obj-$(CONFIG_INPUT_DM355EVM)	+= dm355evm_keys.o
+ obj-$(CONFIG_INPUT_GPIO)	+= gpio_event.o gpio_matrix.o gpio_input.o gpio_output.o gpio_axis.o
obj-$(CONFIG_HP_SDC_RTC)	+= hp_sdc_rtc.o
obj-$(CONFIG_INPUT_IXP4XX_BEEPER)	+= ixp4xx-beeper.o
+ obj-$(CONFIG_INPUT_KEYCHORD)	+= keychord.o
obj-$(CONFIG_INPUT_KEYSPAN_REMOTE)	+= keyspan_remote.o
obj-$(CONFIG_INPUT_M68K_BEEP)	+= m68kspkr.o
obj-$(CONFIG_INPUT_PCAP)	+= pcap_keys.o
Only in g3/drivers/input/touchscreen: Firmware16.h
diff -crB linux/drivers/input/touchscreen/Kconfig g3/drivers/input/touchscreen/Kconfig
*** linux/drivers/input/touchscreen/Kconfig	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/touchscreen/Kconfig	2011-02-26 04:41:40.000000000 -0800
***************
*** 103,108 ****
--- 103,132 ----
NOTE: this driver is deprecated, try enable SPI and generic
ADS7846-based touchscreen driver.

+ config TOUCHSCREEN_S3C
+ tristate "S3C touchscreen driver"
+ depends on S5P64XX_TS_R_TYPE
+ default y
+ help
+ Say Y here to enable the driver for the touchscreen on the
+ S3C SMDK board.
+
+ If unsure, say N.
+
+ To compile this driver as a module, choose M here: the
+ module will be called s3c_ts.
+
+ config TOUCHSCREEN_NEW
+ bool "new flip touch"
+ depends on TOUCHSCREEN_S3C
+ default y
+ help
+ Say Y here to enable the driver for the new version touchscreen on the
+ S3C SMDK board.
+
+ Say N here to enable the driver for the old version touchscreen on the
+ S3C SMDK board.
+
config TOUCHSCREEN_DA9034
tristate "Touchscreen support for Dialog Semiconductor DA9034"
depends on PMIC_DA903X
***************
*** 271,276 ****
--- 295,306 ----
To compile this driver as a module, choose M here: the
module will be called migor_ts.

+ config TOUCHSCREEN_SYNAPTICS_I2C_RMI
+	tristate "Synaptics i2c touchscreen"
+	depends on I2C
+	help
+	This enables support for Synaptics RMI over I2C based touchscreens.
+
config TOUCHSCREEN_TOUCHRIGHT
tristate "Touchright serial touchscreen"
select SERIO
***************
*** 512,517 ****
--- 542,560 ----
To compile this driver as a module, choose M here: the
module will be called tsc2007.

+ config TOUCHSCREEN_QT602240
+	tristate "quantum touchscreen driver"
+	depends on S5P64XX_TS_C_TYPE
+	default n
+	help
+	Say Y here to enable the driver for the touchscreen on the
+	S3C saturn board.
+
+	If unsure, say N.
+
+	To compile this driver as a module, choose M here: the
+	module will be called melfas_ts.
+
config TOUCHSCREEN_W90X900
tristate "W90P910 touchscreen driver"
depends on HAVE_CLK
diff -crB linux/drivers/input/touchscreen/Makefile g3/drivers/input/touchscreen/Makefile
*** linux/drivers/input/touchscreen/Makefile	2010-02-23 07:38:51.000000000 -0800
--- g3/drivers/input/touchscreen/Makefile	2011-02-26 04:41:40.000000000 -0800
***************
*** 26,31 ****
--- 26,32 ----
obj-$(CONFIG_TOUCHSCREEN_HTCPEN)	+= htcpen.o
obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE)	+= usbtouchscreen.o
obj-$(CONFIG_TOUCHSCREEN_PENMOUNT)	+= penmount.o
+ obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI)	+= synaptics_i2c_rmi.o
obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213)	+= touchit213.o
obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT)	+= touchright.o
obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN)	+= touchwin.o
***************
*** 42,44 ****
--- 43,51 ----
obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE)	+= zylonite-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_W90X900)	+= w90p910_ts.o
obj-$(CONFIG_TOUCHSCREEN_PCAP)	+= pcap_ts.o
+ #ifdef CONFIG_S5P64XX_TS_C_TYPE
+ obj-$(CONFIG_TOUCHSCREEN_QT602240)	+= qt602240.o
+ #endif
+ #ifdef CONFIG_S5P64XX_TS_R_TYPE
+ obj-$(CONFIG_TOUCHSCREEN_S3C)	+= s3c-ts.o
+ #endif
Only in g3/drivers/input/touchscreen: qt602240.c
Only in g3/drivers/input/touchscreen: synaptics_i2c_rmi.c