linux: update simpad switches patch
authorMarcin Juszkiewicz <hrw@openembedded.org>
Tue, 27 Feb 2007 17:31:13 +0000 (17:31 +0000)
committerMarcin Juszkiewicz <hrw@openembedded.org>
Tue, 27 Feb 2007 17:31:13 +0000 (17:31 +0000)
packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch
packages/linux/linux_2.6.20.bb

index cbc2272..3f28d9e 100644 (file)
@@ -1,6 +1,6 @@
 diff -uNr linux-2.6.20.vanilla/drivers/mfd/Kconfig linux-2.6.20/drivers/mfd/Kconfig
---- linux-2.6.20.vanilla/drivers/mfd/Kconfig   2007-02-09 18:27:41.000000000 +0100
-+++ linux-2.6.20/drivers/mfd/Kconfig   2007-02-09 19:29:23.000000000 +0100
+--- linux-2.6.20.vanilla/drivers/mfd/Kconfig   2007-02-10 19:01:56.000000000 +0100
++++ linux-2.6.20/drivers/mfd/Kconfig   2007-02-14 16:30:15.000000000 +0100
 @@ -23,4 +23,7 @@
        tristate "Touchscreen interface support"
        depends on MCP_UCB1200 && INPUT
@@ -10,8 +10,8 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/Kconfig linux-2.6.20/drivers/mfd/Kcon
 +        depends on MCP_UCB1200 && INPUT
  endmenu
 diff -uNr linux-2.6.20.vanilla/drivers/mfd/Makefile linux-2.6.20/drivers/mfd/Makefile
---- linux-2.6.20.vanilla/drivers/mfd/Makefile  2007-02-09 18:27:41.000000000 +0100
-+++ linux-2.6.20/drivers/mfd/Makefile  2007-02-09 19:29:23.000000000 +0100
+--- linux-2.6.20.vanilla/drivers/mfd/Makefile  2007-02-10 19:01:56.000000000 +0100
++++ linux-2.6.20/drivers/mfd/Makefile  2007-02-14 16:30:15.000000000 +0100
 @@ -6,7 +6,7 @@
  obj-$(CONFIG_MCP_SA11X0)      += mcp-sa11x0.o
  obj-$(CONFIG_MCP_UCB1200)     += ucb1x00-core.o
@@ -23,8 +23,8 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/Makefile linux-2.6.20/drivers/mfd/Mak
  endif
 diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drivers/mfd/ucb1x00-switches.c
 --- linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.20/drivers/mfd/ucb1x00-switches.c        2007-02-09 19:30:34.000000000 +0100
-@@ -0,0 +1,200 @@
++++ linux-2.6.20/drivers/mfd/ucb1x00-switches.c        2007-02-14 16:32:57.000000000 +0100
+@@ -0,0 +1,204 @@
 +/*
 + *  linux/drivers/mfd/ucb1x00-switches.c
 + *
@@ -65,7 +65,6 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drive
 +      struct input_dev *idev = switches->idev;
 +      ucb1x00_enable(switches->ucb);
 +      
-+      //check if it really is a event this is not real neccessary because input dev checkes it itself a second.
 +      this=~ucb1x00_io_read(switches->ucb);
 +      if (this==last) {
 +               return;
@@ -76,48 +75,57 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drive
 +
 +      case 0:
 +
-+              if ((this & (1<<0)) != 0) input_report_key(idev, KEY_PROG1, 1);
-+              else input_report_key(idev, KEY_PROG1, 0);
++              if 
++                      ((this & (1<<0)) != 0) input_report_key(idev, KEY_PROG1, 1);
++              else 
++                      input_report_key(idev, KEY_PROG1, 0);
 +              break;
 +
 +      case 1:
 +
-+              if ((this & (1<<1)) != 0) input_report_key(idev, KEY_PROG2, 1);
-+              else input_report_key(idev, KEY_PROG2, 0);
++              if 
++                      ((this & (1<<1)) != 0) input_report_key(idev, KEY_PROG2, 1);
++              else 
++                      input_report_key(idev, KEY_PROG2, 0);
 +              break;
 +
 +      case 2:
 +
-+              if ((this & (1<<2)) != 0) input_report_key(idev, KEY_UP, 1); 
-+              else input_report_key(idev, KEY_UP, 0); 
++              if 
++                      ((this & (1<<2)) != 0) input_report_key(idev, KEY_UP, 1); 
++              else 
++                      input_report_key(idev, KEY_UP, 0); 
 +              break;
 +
 +      case 3:
 +
-+              if ((this & (1<<3)) != 0) input_report_key(idev, KEY_DOWN, 1); 
-+              else input_report_key(idev, KEY_DOWN, 0); 
++              if 
++                      ((this & (1<<3)) != 0) input_report_key(idev, KEY_DOWN, 1); 
++              else 
++                      input_report_key(idev, KEY_DOWN, 0); 
 +              break;
 +
 +      case 4:
 +
-+              if ((this & (1<<4)) != 0) input_report_key(idev, KEY_LEFT, 1);
-+              else input_report_key(idev, KEY_LEFT, 0);
++              if 
++                      ((this & (1<<4)) != 0) input_report_key(idev, KEY_LEFT, 1);
++              else 
++                      input_report_key(idev, KEY_LEFT, 0);
 +              break;
 +
 +      case 5:
 +
-+              if ((this & (1<<5)) != 0) input_report_key(idev, KEY_RIGHT, 1);
-+              else input_report_key(idev, KEY_RIGHT, 0);
++              if 
++                      ((this & (1<<5)) != 0) input_report_key(idev, KEY_RIGHT, 1);
++              else 
++                      input_report_key(idev, KEY_RIGHT, 0);
 +              break;
 +
 +      default:
 +
 +              printk(KERN_DEBUG "switches-ucb1x00 is BUGGY!!! \n");
-+
-+      }
-+
-+      ucb1x00_disable_irq(switches->ucb, UCB_IRQ_TSPX, UCB_FALLING);
-+      
++              
++      }       
 +}
 +
 +static int ucb1x00_switches_add(struct ucb1x00_dev *dev)
@@ -129,7 +137,6 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drive
 +      switches = kzalloc(sizeof(struct ucb1x00_switches), GFP_KERNEL);
 +      idev = input_allocate_device();
 +
-+
 +      if (!switches || !idev) {
 +              err = -ENOMEM;
 +              goto fail;
@@ -137,7 +144,6 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drive
 +
 +      switches->ucb = dev->ucb;
 +      
-+
 +      idev->private    = switches;
 +      idev->name       = "SIMpad Switches";
 +      idev->id.product = switches->ucb->id;
@@ -191,14 +197,12 @@ diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drive
 +      input_unregister_device(switches->idev);
 +              
 +      for (i = 5; i >= 0; --i) {
-+
 +              ucb1x00_disable_irq(switches->ucb, i, UCB_RISING | UCB_FALLING);
 +
 +              /* Only error conditions are ENOENT and EINVAL; silently
 +               * ignore:
 +               */
 +              ucb1x00_free_irq(switches->ucb, i, NULL);
-+
 +      }
 +      ucb1x00_disable(switches->ucb);
 +      kfree(switches);
index a26b20e..893856a 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "Linux Kernel"
 SECTION = "kernel"
 LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
            file://defconfig"