1. 06 1月, 2010 4 次提交
    • M
      Input: davinci_keyscan - add device_enable method to platform data · 861a6442
      Miguel Aguilar 提交于
      Add a function pointer in the platform data of the DaVinci Keyscan driver
      called device_enable, in order to perform board specific actions when
      the device is initialized, like setup the PINMUX configuration.
      Signed-off-by: NMiguel Aguilar <miguel.aguilar@ridgerun.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      861a6442
    • A
      Input: evdev - be less aggressive about sending SIGIO notifies · 30a589fd
      Adam Jackson 提交于
      When using realtime signals, we'll enqueue one signal for every event.
      This is unfortunate, because (for example) keyboard presses are three
      events: key, msc scancode, and syn.  They'll be enqueued fast enough in
      kernel space that all three events will be ready to read by the time
      userspace runs, so the first invocation of the signal handler will read
      all three events, but then the second two invocations still have to run
      to do no work.
      
      Instead, only send the SIGIO notification on syn events.  This is a
      slight abuse of SIGIO semantics, in principle it ought to fire as soon
      as any events are readable.  But it matches evdev semantics, which is
      more important since SIGIO is rather vaguely defined to begin with.
      Signed-off-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      30a589fd
    • D
      Input: atkbd - fix canceling event_work in disconnect · 0ef7a26a
      Dmitry Torokhov 提交于
      We need to first unregister input device and only then cancel event work
      since events can arrive (and cause event work to get scheduled again)
      until input_unregister_device() returns.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      0ef7a26a
    • E
      Input: serio - fix potential deadlock when unbinding drivers · 59b01513
      Eric W. Biederman 提交于
      sysfs_remove_group() waits for sysfs attributes to be removed, therefore
      we do not need to worry about driver-specific attributes being accessed
      after driver has been detached from the device. In fact, attempts to take
      serio->drv_mutex in attribute methods may lead to the following deadlock:
      
                                                sysfs_read_file()
                                                  fill_read_buffer()
                                                    sysfs_get_active_two()
                                                      psmouse_attr_show_helper()
                                                        serio_pin_driver()
      serio_disconnect_driver()
        mutex_lock(&serio->drv_mutex);
                                      <-------->        mutex_lock(&serio_drv_mutex);
          psmouse_disconnect()
            sysfs_remove_group(... psmouse_attr_group);
              ....
              sysfs_deactivate();
                wait_for_completion();
      
      Fix this by removing calls to serio_[un]pin_driver() and functions themselves
      and using driver-private mutexes to serialize access to attribute's set()
      methods that may change device state.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      59b01513
  2. 02 1月, 2010 1 次提交
  3. 31 12月, 2009 1 次提交
  4. 30 12月, 2009 5 次提交
  5. 25 12月, 2009 7 次提交
  6. 16 12月, 2009 6 次提交
  7. 15 12月, 2009 16 次提交