1. 15 11月, 2010 2 次提交
  2. 12 11月, 2010 3 次提交
    • D
      Input: hgpk - extend jumpiness detection · a309cdc7
      Daniel Drake 提交于
      In addition to forcing recalibrations upon detection of cursor jumps (and
      performing them quicker than before), detect and discard errant 'jump'
      packets caused by a firmware bug, which are then repeated with each one
      being approximately half the delta of the one previously (as if it is
      averaging out)
      
      Based on original work by Paul Fox.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      a309cdc7
    • D
      Input: hgpk - rework spew detection · c0dc8342
      Daniel Drake 提交于
      The old implementation of spew detection simply tracked the overall
      position delta of the cursor over every 100 packets. We found that
      this causes occasional false positives in spew detection, and also
      that the conditions of the spewy packets are perhaps more fixed than
      we once thought.
      
      Rework the spew detection to look for packets of specific small
      delta, and only recalibrating if the overall movement delta stays
      within expected bounds.
      
      Also discard duplicate packets in the advanced mode, which appear
      to be very common. If we don't, the spew detection kicks in far
      too early. If we get a large spew of duplicates, request a
      recalibration straight up.
      
      Based on earlier work by Paul Fox.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      c0dc8342
    • D
      Input: hgpk - support GlideSensor and PenTablet modes · ca94ec43
      Daniel Drake 提交于
      Add a "hgpk_mode" sysfs attribute that allows selection between 3 options:
      Mouse (the existing option), GlideSensor and PenTablet.
      
      GlideSensor is an enhanced protocol for the regular touchpad mode that
      additionally reports pressure and uses absolute coordinates. We suspect
      that it may be more reliable than mouse mode in some environments.
      
      PenTablet mode puts the touchpad into resistive mode, you must then use
      a stylus as an input. We suspect this is the most reliable way to drive
      the touchpad.
      
      The GlideSensor and PenTablet devices expose themselves with the
      intention of being combined with the synaptics X11 input driver.
      
      Based on earlier work by Paul Fox.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      ca94ec43
  3. 20 5月, 2010 1 次提交
  4. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  5. 06 1月, 2010 1 次提交
  6. 30 12月, 2009 1 次提交
  7. 20 11月, 2009 1 次提交
  8. 11 9月, 2009 1 次提交
  9. 05 8月, 2009 1 次提交
    • P
      Input: hgpk - forced recalibration for the OLPC touchpad · c46dd1eb
      Paul Fox 提交于
      The OLPC XO laptop incorporates a combination touchpad/tablet device
      which unfortunately requires frequent recalibration.  The driver will
      force this automatically when various suspicious behaviors are
      observed, and the user can recalibrate manually (with a special
      keyboard sequence). There's currently no way, however, for an external
      program to cause recalibration. We can not use the reconnect
      capability which is already available in /sys because full reset of
      the touchpad takes 1.1 - 1.2 secons which is too long.
      
      This patch creates a new node in /sys which, when written with '1',
      will force a touchpad recalibration; no other writes (or reads)
      of this node are supported.
      Signed-off-by: NPaul Fox <pgf@laptop.org>
      Acked-by: NAndres Salomon <dilinger@collabora.co.uk>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      c46dd1eb
  10. 03 4月, 2009 1 次提交
  11. 01 3月, 2009 1 次提交
  12. 20 12月, 2008 1 次提交
  13. 12 11月, 2008 1 次提交
  14. 22 9月, 2008 1 次提交
    • A
      Input: psmouse - add OLPC touchpad driver · df08ef27
      Andres Salomon 提交于
      This adds support for OLPC's touchpad.  It has lots of neat features,
      none of which are enabled because the hardware is too buggy.  Instead,
      we use it like a normal touchpad, but with a number of workarounds in
      place to deal with the frequent hardware spasms.  Humidity changes,
      sweat, tinfoil underwear, plugging in AC, drinks, evil felines.. All
      tend to cause the touchpad to freak out.
      Signed-off-by: NAndres Salomon <dilinger@debian.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      df08ef27