[oe-commits] Jeremy Lainé : linux-2.6.26: cleanup boc01 keyboard driver

GIT User account git at amethyst.openembedded.net
Mon Dec 22 12:06:25 UTC 2008


Module: openembedded.git
Branch: org.openembedded.dev
Commit: dca7dad0bd67fa1a6c060876d88edc54b2198623
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=dca7dad0bd67fa1a6c060876d88edc54b2198623

Author: Jeremy Lainé <jeremy.laine at m4x.org>
Date:   Mon Dec 22 13:03:56 2008 +0100

linux-2.6.26: cleanup boc01 keyboard driver

---

 .../boc01/012-081222-cy3218-btns.patch             |   44 ++++++++-----------
 packages/linux/linux_2.6.26.bb                     |    2 +-
 2 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/packages/linux/linux-2.6.26/boc01/012-081222-cy3218-btns.patch b/packages/linux/linux-2.6.26/boc01/012-081222-cy3218-btns.patch
index 91211e3..b3cb9b4 100644
--- a/packages/linux/linux-2.6.26/boc01/012-081222-cy3218-btns.patch
+++ b/packages/linux/linux-2.6.26/boc01/012-081222-cy3218-btns.patch
@@ -1,7 +1,7 @@
 diff -urN linux-2.6.26.orig/drivers/input/misc/cy3218-btns.c linux-2.6.26/drivers/input/misc/cy3218-btns.c
 --- linux-2.6.26.orig/drivers/input/misc/cy3218-btns.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.26/drivers/input/misc/cy3218-btns.c	2008-12-22 07:50:48.000000000 +0100
-@@ -0,0 +1,201 @@
++++ linux-2.6.26/drivers/input/misc/cy3218-btns.c	2008-12-22 12:54:47.000000000 +0100
+@@ -0,0 +1,195 @@
 +/*
 + * CAPSENSE Interface driver
 + *
@@ -43,7 +43,7 @@ diff -urN linux-2.6.26.orig/drivers/input/misc/cy3218-btns.c linux-2.6.26/driver
 +MODULE_PARM_DESC(poll, "poll interval in msec (30=default)");
 +
 +static const unsigned short normal_i2c[] = {
-+		CAPSENSE_I2C_ADDR , I2C_CLIENT_END
++	CAPSENSE_I2C_ADDR , I2C_CLIENT_END
 +};
 +I2C_CLIENT_INSMOD;
 +
@@ -62,41 +62,35 @@ diff -urN linux-2.6.26.orig/drivers/input/misc/cy3218-btns.c linux-2.6.26/driver
 +	unsigned char key_state;
 +};
 +
-+unsigned short keymap[5] = {
-+	KEY_UP,
++unsigned short keymap[] = {
++	// GP0
 +	KEY_F1,
 +	KEY_ENTER,
 +	KEY_DOWN,
 +	KEY_BACKSPACE,
++	// GP1
++	KEY_UP,
 +};
 +
 +static void handle_buttons(struct input_polled_dev *dev)
 +{
-+	u8 uValue;
 +	struct cy3218 *capsense = dev->private;
-+	unsigned char new_state = 0;
-+	unsigned char changed;
++	u8 port_value;
++	u8 new_state = 0;
++	u8 changed;
 +	int i;
 +
-+	uValue = i2c_smbus_read_byte_data(&capsense->client, CAP_STATE_GP1);
-+
-+	if(uValue == MASK0)
-+		new_state |= 1;
-+
-+	uValue = i2c_smbus_read_byte_data(&capsense->client, CAP_STATE_GP0);
-+
-+	if(uValue == MASK0)
-+		new_state |= 2;
-+
-+	if(uValue == MASK1)
-+		new_state |= 4;
-+
-+	if(uValue == MASK2)
-+		new_state |= 8;
++	// read status
++	port_value = i2c_smbus_read_byte_data(&capsense->client, CAP_STATE_GP0);
++	if (port_value & MASK0) new_state |= 0x01;
++	if (port_value & MASK1) new_state |= 0x02;
++	if (port_value & MASK2) new_state |= 0x04;
++	if (port_value & MASK3) new_state |= 0x08;
 +
-+	if(uValue == MASK3)
-+		new_state |= 16;
++	port_value = i2c_smbus_read_byte_data(&capsense->client, CAP_STATE_GP1);
++	if (port_value & MASK0) new_state |= 0x10;
 +
++	// update keyboard state
 +	changed = capsense->key_state ^ new_state;
 +	for (i = 0; i < ARRAY_SIZE(keymap); i++)
 +		if (changed & (1 << i))
diff --git a/packages/linux/linux_2.6.26.bb b/packages/linux/linux_2.6.26.bb
index 965e25e..ff4ced7 100644
--- a/packages/linux/linux_2.6.26.bb
+++ b/packages/linux/linux_2.6.26.bb
@@ -1,6 +1,6 @@
 require linux.inc
 
-PR = "r7"
+PR = "r8"
 
 # Mark archs/machines that this kernel supports
 DEFAULT_PREFERENCE = "-1"





More information about the Openembedded-commits mailing list