]> nv-tegra.nvidia Code Review - linux-3.10.git/commitdiff
Merge branch 'next' into for-linus
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 8 Apr 2009 07:00:33 +0000 (00:00 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 8 Apr 2009 07:00:33 +0000 (00:00 -0700)
1  2 
drivers/input/input.c
drivers/input/mouse/Kconfig
drivers/input/mouse/hgpk.c

diff --combined drivers/input/input.c
index ec3db3ade1182b01ef663a946c85de10efa54023,913392f63f767b62763197687fe63ff559a2b60e..d44065d2e662d7fc6757986c4c91b89b5b7b8ebd
@@@ -132,6 -132,11 +132,11 @@@ static void input_start_autorepeat(stru
        }
  }
  
+ static void input_stop_autorepeat(struct input_dev *dev)
+ {
+       del_timer(&dev->timer);
+ }
  #define INPUT_IGNORE_EVENT    0
  #define INPUT_PASS_TO_HANDLERS        1
  #define INPUT_PASS_TO_DEVICE  2
@@@ -167,6 -172,8 +172,8 @@@ static void input_handle_event(struct i
                                __change_bit(code, dev->key);
                                if (value)
                                        input_start_autorepeat(dev, code);
+                               else
+                                       input_stop_autorepeat(dev);
                        }
  
                        disposition = INPUT_PASS_TO_HANDLERS;
@@@ -737,11 -744,11 +744,11 @@@ static inline void input_wakeup_procfs_
  
  static unsigned int input_proc_devices_poll(struct file *file, poll_table *wait)
  {
-       int state = input_devices_state;
        poll_wait(file, &input_devices_poll_wait, wait);
-       if (state != input_devices_state)
+       if (file->f_version != input_devices_state) {
+               file->f_version = input_devices_state;
                return POLLIN | POLLRDNORM;
+       }
  
        return 0;
  }
@@@ -903,6 -910,8 +910,6 @@@ static int __init input_proc_init(void
        if (!proc_bus_input_dir)
                return -ENOMEM;
  
 -      proc_bus_input_dir->owner = THIS_MODULE;
 -
        entry = proc_create("devices", 0, proc_bus_input_dir,
                            &input_devices_fileops);
        if (!entry)
index 4f38e6f7dfdd6db154b5d6ecc531a0f55e802019,2a92e19c1509730b01d604791572c42bdc3696ba..c66cc3d08c2f8321061f13bd26c290eb855abd33
@@@ -17,7 -17,7 +17,7 @@@ config MOUSE_PS
        default y
        select SERIO
        select SERIO_LIBPS2
 -      select SERIO_I8042 if X86_PC
 +      select SERIO_I8042 if X86
        select SERIO_GSCPS2 if GSC
        help
          Say Y here if you have a PS/2 mouse connected to your system. This
@@@ -292,4 -292,15 +292,15 @@@ config MOUSE_PXA930_TRKBAL
        help
          Say Y here to support PXA930 Trackball mouse.
  
+ config MOUSE_MAPLE
+       tristate "Maple mouse (for the Dreamcast)"
+       depends on MAPLE
+       help
+         This driver supports the Maple mouse on the SEGA Dreamcast.
+         Most Dreamcast users, who have a mouse, will say Y here.
+         To compile this driver as a module choose M here: the module will be
+         called maplemouse.
  endif
index 55cd0fa6833984c2b025b3115b6ed81bb4adf6ef,a14a6b0f7af0232b228a87f89757399ded490331..a1ad2f1a7bb377c776368d55c2a05b5fcd7fd69b
@@@ -381,7 -381,7 +381,7 @@@ static void hgpk_disconnect(struct psmo
  
  static void hgpk_recalib_work(struct work_struct *work)
  {
 -      struct delayed_work *w = container_of(work, struct delayed_work, work);
 +      struct delayed_work *w = to_delayed_work(work);
        struct hgpk_data *priv = container_of(w, struct hgpk_data, recalib_wq);
        struct psmouse *psmouse = priv->psmouse;
  
@@@ -472,7 -472,7 +472,7 @@@ static enum hgpk_model_t hgpk_get_model
                return -EIO;
        }
  
-       hgpk_dbg(psmouse, "ID: %02x %02x %02x", param[0], param[1], param[2]);
+       hgpk_dbg(psmouse, "ID: %02x %02x %02x\n", param[0], param[1], param[2]);
  
        /* HGPK signature: 0x67, 0x00, 0x<model> */
        if (param[0] != 0x67 || param[1] != 0x00)