commit 62197a303a36a8dbeda69c8867617ce3bfb6380d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 14:59:51 2010 +1000

    wacom 0.10.5
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e4069c2a7b3b74eebe3d8a30e3121f52730320c8
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Mar 18 20:57:54 2010 -0500

    Do not send button presses for touchpads.
    
    Now that we support touchpads (Bamboo P&T), the old logic
    for button presses on touchscreens needs to consider this.
    
    I chose looking at tablet_id instead of ABSOLUTE/RELATIVE setting
    because we would have to do a for() loop to find correct private
    structure for touch device.
    
    Eventually, we will merge over touchscreen gesture support
    from linuxwacom which will centralize all gesture logic
    in either wcmCommon.c or wcmTouchFilter.c.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3055024b89c5b274a6c7d2cf128ec390fe0ffad3
Merge: fb458ca 70e490a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 11:36:28 2010 +1000

    Merge branch 'isdv4-cleanup-stage2'
    
    For the patch series merged:
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb458cabf07932f7862edbb769f9865ea32e9694
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:18:32 2010 -0700

    Change Copyright
    
    Change "Wacom Technology" to "Wacom" to cover all regions
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 246244fc724b4457e0602a494dfe72bfb9fc254e
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:13:19 2010 -0700

    use wcmKeys to check tool type
    
    Since wcmKeys can be accessed from usbWcmGetRanges, we retrieve
    the supported tool types instead of product ID for touch devices
    that also report pad data. This change makes the code generic to
    all touch devices that report pad data.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87f2ff0397223c557650ccb1e0aac4bb497a7a93
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:10:46 2010 -0700

    Make keys into wcmKeys
    
    Tool type and other device/tool specific characters can be retrieved
    through the supported events, defined in keys, from the kernel. Make
    this variable an attribute of common so we only need to retrieve it
    once in wcmPreInit.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7a078d10266155f87b32b05803d90c62d65fee73
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 08:29:55 2010 +1000

    ISDV4: add missing linebreak after wcmWriteWait error message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bd1c20ca8f8187b30d70b3310b5b086f6fc124ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 17:09:05 2010 +1000

    Pressure threshold must be smaller than maxZ, not 21.
    
    21 is a copy-paste error from the ClickForce setting. The default for the
    pressure threshold is maxZ * 3/50 (245 on my tablet), 21 thus isn't quite
    sufficient.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 61392ced1f604d81a6e7d27036784eb19b595313
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 10:08:20 2010 +1000

    Fix build error with --enable-debug on.
    
    To reduce the number of ifdefs, a slight reshuffling of the code.
    
    Reported-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 70e490a5e7a16639f4a2c2f98d0b203bc6ddec16
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 14:49:20 2010 +1000

    ISDV4: print tablet ID after assigning it.
    
    Bug triaging is easier if the log file contains the tablet ID assigned by
    the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bda0e2263faabac5e13ae9dee968bd67555d8809
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 17 23:26:42 2010 -0400

    ISDV4: Parse touch and coordinate data packets.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c6efe6b87d72448dd7b18bb6f056a064b587bc23
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 17 22:46:42 2010 -0400

    ISDV4: Move some ISDV-specific defines into the new header.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8a497d0c808ab749189501f0f360a1bf56d45770
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 10:39:57 2010 +1000

    ISDV4: move parsing code for query and touch query into separate functions.
    
    Instead of having the protocol parsing code directly in the matching functions,
    move it to a separate function and return a struct with the interesting data
    already set. This eases code readability and improves debugging between
    protocol parsing errors and general driver bugs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72231173a14c69c30918f57f0b3be66a9bdd20de
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 16 14:16:09 2010 +1000

    xsetwacom: fix wrong option parsing for --display.
    
    Reported-by: Andrew Lofthouse
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6f98912927116fcf0067e30f010778b0e838f268
Merge: 4c2d47d d8d70c1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 16 16:03:32 2010 +1000

    Merge branch 'isdv4-cleanup-stage1'
    
    For the branch merged in:
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Thomas Jaeger <thjaeger@gmail.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4c2d47db27f90907301a67c096096a80383e69d7
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Mar 15 21:14:41 2010 -0700

    nbbuttons should be <= WCM_MAX_BUTTONS
    
    The workaround that supports at least 7 buttons could cause
    nbbuttons larger than WCM_MAX_BUTTONS, the maximum number of
    buttons that is supported by the driver. This patch keeps
    nbbuttons in its range.
    
    This patch also fixes a driver crash issue on ISDV4 with touch
    systems that may be caused by nbbuttons being larger than
    WCM_MAX_BUTTONS. The "may be" is backed up by the following
    testing result:
    
    1.  linuxwacom-0.8.5-11 has the same block of code. However,
    running linuxwacom-0.8.5-11 on the same ISDV4 system (Xorg 1.6.0)
    without this patch doesn't have the issue.
    
    2.  Running xf86-input-wacom without this patch on a pen only
    ISDV4 system doesn't have the issue either (Thomas Jaeger reported
    the same positive testing result too).
    
    So, there must be some other issues behind the crash that we don't
    understand yet.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8d70c12395f856cffaeee2dfe02a03a028d2f18
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:10:47 2010 +1000

    ISDV4: move wcmWriteWait and wcmWaitForTablet errors into those functions.
    
    Instead of cluttering up the rest of the code, just complain where it
    happens. This needs a slight change to the two function signatures so we can
    print the device name too.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 120e7514aef71aa6f2c32d0143f8466479ce02e7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:10:47 2010 +1000

    ISDV4: move stopping the device out to isdv4StopTablet()
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6d7395dceb215a8b14ebdb1b2903115e4e8a48bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:05:03 2010 +1000

    ISDV4: use wcmWriteWait for the start/stop commands.
    
    If we already have a wrapper function, we might as well use it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b9317f264230c7aaad909cc83bf6f8d512df22c3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 11:59:04 2010 +1000

    ISDV4: Rename the ISDV4-specific defines ISDV4_foo
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit baafd08d3cfbb9dfee2b84cb74ca480d4e5606c7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 10 11:07:18 2010 +1000

    ISDV4: use wcmSkipInvalidateBytes from wcmSerialValidate.
    
    Untangle the double if inside the loop to perform the same functionality:
    first check the header byte and if it has the magic bit set. If not, skip
    along to the next byte that does.
    Then, check that the remaining bytes don't have the magic bit set. If not,
    skip up to the first byte that does have the header bit set.
    
    This patch also changes the function signature so we can print the name of
    the device where it happens.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 523af161bef98745e0d18814c09f0a22e8f2d453
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 10 10:46:53 2010 +1000

    ISDV4: skip bytes until the next HEADER_BIT if necessary.
    
    This is similar to what wcmSerialValidate() does but only does the skipping
    of an already started invalid packet. At this point we don't have the packet
    length defined yet so this is just an early exit path.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b945afc82e83aab24d9d3d3320717e58c23b5c8f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 9 15:13:56 2010 +1000

    Fix invalid buffer handling in isdv4Parse().
    
    Check the first byte of each packet for the bits that define the packet
    length, not just the first byte in the buffer.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 62e14f05308fb0585fed771cc96280aef717bd91
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:26:31 2010 +1000

    Remove ISDV4-specific code from wcmReadPacket().
    
    The packet length only matters on ISDV4, the code should be in the matching
    part of the source.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 60dd6923f6b2df0d3c995c592b2c672960123fcb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:15:51 2010 +1000

    Pass the length of the buffer into the parsing code.
    
    Just handing down a data pointer is risky, since we can't do any
    model-specific checking for buffer length in the actual model-specific code.
    So instead, for any buffer size, call the parser. The parser then can return
    0 if the length of the buffer isn't sufficient.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f979ad42ef7c571d71f2e4dc9fb69042b276e59a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 16:16:26 2010 +1000

    Remove a bunch of now unused defines.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 6703e6c60728cc080f6b194bcaa8f03795afab6a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:07:35 2010 +1000

    Purge Read() abstraction from the device models.
    
    We only support ISDV4 and usb tablets and both use the same read method.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 91d806950738b4cd376066f09836c8fe951249cf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 13:59:54 2010 +1000

    Fix a superfluous linebreak.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 546a2ee94aee8278dad5c1cdc9babe82caac94ff
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Mar 6 20:58:46 2010 -0500

    wcmISDV4.c: error on AMD64: conflicting types for int64_t
    
    The header <linux/serial.h> should come after xf86Wacom.h
    as it did when it was in wmValidateDevice.c
    Problem was introduced by commit 3d5f67417a0939d30a19e581a4f76091cfad4a5d
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bdf6e5239ca4c7e8ab2a9b7c921176473d1e80c2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Mar 4 19:41:57 2010 -0600

    Fix usbGetRanges() for any load order of touch/pad
    
    For Bamboo P&T devices, both a touch and pad type are
    shared for single input device and can be called in any
    order based on xorg.conf.  And normal HAL order is to
    invoke usbGetRanges() from pad first.
    
    This meant all logic related to IsTouch() was not
    correctly running.  Updated to treat pad type as
    touch in special case of Bamboo P&T.
    
    This is applies to devices that have both BTN_TOOL_FINGER
    and BTN_TOOL_DOUBLETAP which currently is limitted to
    Bamboo touch devices.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by:  Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 83f932844c8f21e6e4d461a1b754256844dd58d7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 22:08:48 2010 +1000

    Fix pressure curve application check.
    
    4865c30bf0a22ce4083161b1dd953508189b2091 unified the check for when to init
    the pressure curve. Unfortunately, it didn't actually do so, introducing a
    wrong if condition.
    
    Reported-by: Bryan Hundven <bryanhundven@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d863ffd142919b24bd15fcdde31a9ee19cee39bc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 13:45:56 2010 +1000

    static-ify usbWcmInit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 836d30f6eee0e82b7ef874de0deb491ec0b17645
Merge: 701521e c145742
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 09:58:09 2010 +1000

    Merge branch 'init-process-revamp'
    
    For the patch series merged in:
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c1457421d417f496949362f7fd858bae0f0a3bed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:51:56 2010 +1000

    man: update pressure curve documentation.
    
    Setting is only applicable for stylus and eraser.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4865c30bf0a22ce4083161b1dd953508189b2091
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:48:36 2010 +1000

    Unify the check for application of pressurecurve.
    
    The property code and wcmParseOptions should use the same condition for
    readability. Outcome is the same - the pressure curve is applied only to
    stylus and eraser.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 37fa3c2e29a0ca6eadd0e7f054a17bd9c194ad0a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:46:19 2010 +1000

    Move the check for pressure curve value sanity into its own function.
    
    Instead of duplicating the check, move into a single function to avoid the
    usual bugs of one occurance getting updated but the others don't, etc.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb4f167c80290dd7be5c0a47f1e649115b157681
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:14:46 2010 +1000

    Clear up some ambiguity in the comments for wcmIsDuplicate.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35b3129889b7b51aae8d0b8dba130dad2a9b6a54
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:07:41 2010 +1000

    Refacture wcmMatchDevice to iterate over the devices.
    
    No functional change, it just removes complexity from wcmPreInit into
    wcmMatchDevice to make the former easier to read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 196cd5033311e9b3d30d121ed1e45046a1a99725
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:00:16 2010 +1000

    Purge wcmEraserID - unused.
    
    This field was only ever set, but never read from anywhere. It seems to have
    been removed with commit 088dab520184: Support dual Cintiq with TwinView setup
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd9793f484c1f70b630a5cad3556c4966f1984ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 13:51:24 2010 +1000

    Revamp device PreInit process.
    
    The new init process:
    - allocate the generic struct used by all device types.
    - if no device is given, auto-probe for one (find a wacom device
    in /dev/input/event?
    - open the device file
    - probe the device
    
    The allocation process is different now, the common settings are allocated
    for all devices, type-specific settings are set once some information about
    this device is available.
    
    The auto-dev probe is now invoked for each device that does not have the
    device option set. For this to work, we need the common->wcmDevice to be
    initialized to NULL.  An option "Device" "auto-dev" is _not_ supported, it
    would be interpreted as file path and fail. Something for the future maybe.
    
    Probing could still be improved by getting more information from the device
    now instead of during open. Something else for the future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0fbd3e34d792cb17163c1974d7e8ce93c24242a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 13:24:10 2010 +1000

    Always init wheel buttons to 4/5.
    
    Regardless of the type, we can init the wheel buttons since other device
    types don't generate them anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 43ce982801d6d3d84b98a8f5550df900c621b3b5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 09:32:17 2010 +1000

    Init the pressurecurve property with the values from the device.
    
    Don't hardcode the defaults into the property code, use the stuff from
    priv->nPressCtrl (the actual device's values) instead.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fa2981ff91fe044b780225edcbe29bb63b66a52c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:52:09 2010 +1000

    Open the fd only once during PreInit.
    
    Instead of having every function open and close the fd, just open it once
    towards the start of PreInit and then close it at the end again. Anything it
    between can just re-use it.
    
    This reshuffles some of the code in PreInit that was supposedly working when
    "auto-dev" was set. It wasn't, so this just emphasises the brokenness.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3d5f67417a0939d30a19e581a4f76091cfad4a5d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:38:24 2010 +1000

    Split wcmDeviceTypeKeys into usb and isdv4 version.
    
    The rest of the driver tries to split USB and ISDV4 interface and specifics
    into the matching source files, let's do the same with the probing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 211792fede6c5422f7cd767a2356b26dd89ba990
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:23:30 2010 +1000

    Rename wcmInit to wcmPreInit.
    
    The hook the server calls is named PreInit, so use the same name to avoid
    potential confusion with what this call actually does. Since we have misc.
    wcmInitializeFoobar as well, wcmPreInit somewhat expresses the intent a bit
    better.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cb3e41b9c7709d1943d1bfebc463fe274eeb1a45
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:16:29 2010 +1000

    Untangle triple-nested ternery condition.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 701521e9ce99dc7d0d276291539e2ee2abf8111c
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Feb 23 20:55:38 2010 -0600

    Remove user setting of MaxX/MaxY/MaxZ in xorg.conf.
    
    Any values specified by user in xorg.conf for MaxX/Y/Z
    and the MaxTouch* versions were always being overwritten
    during call to device->GetRanges().
    
    This is a cleanup to remove this broken feature since users
    really should not need to touch this.  Removing is much
    easier then getting user override values to work correctly
    for values that are set so late.
    
    This broken interface was not document to user in wacom man pages
    and users are more interested in BottomX/Y and pressure curves
    then the hopefully rare case of trying to debug new hardware.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by:  Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5425f05394082798207ae53fe0c4e034e59fffc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 13:56:33 2010 +1000

    man: remove reference to "USB" option.
    
    We don't parse this option anymore, it's implied unless ISDV4 is given.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e07c501eb27357e70af85a930556948d5f1d3ac2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 13:53:21 2010 +1000

    Update comment - wacom tool type property is read-only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ee4bb8e381bd52ef2cbaa04b57a07d6adfe5a0fa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 11:21:14 2010 +1000

    Only init pressure curve property for stylus and eraser.
    
    The mouse doesn't really have a pressure curve. And the pad doesn't either,
    so no need for this property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ab5672640586ee8b8e92e61b7b0b369768970f92
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 21:24:04 2010 +1000

    Only init strip and wheel buttons for the pad.
    
    AFAICT, there's no pens with scroll strips out there.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87c1d287b96bf335e16a96ecaf8a91ca085bf738
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 18:01:21 2010 +1000

    Only allow absolute mode for pads.
    
    The driver doesn't really know anymore whether a device is a core device or
    not since it may change at any time after an XIChangeHierarchy() call. Even
    then, a device is never a core device anyway - the master device it is
    attached to is.
    
    This code can't be triggered in server 1.7 or higher anyway, just purge it
    and return an error when trying to set the pad to relative mode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a3d4c8c5d0fa9eb30f201bd3e85584eb91ff9d98
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 18:03:04 2010 +1000

    Return XI_BadMode instead of BadMatch.
    
    BadMatch may "occur if an XSetDeviceMode request is made specifying a device
    that has no valuators and reports no axes of motion." XSetDeviceMode(3)
    
    This isn't the case for us, it's an invalid mode that has been selected
    here. Return XI_BadMode instead, the server will return this as BadMode as
    of:
        commit 02d1116e7eb84068fa32477f1640d29b0a81b638
        Refs: xorg-server-1.7.99.901-12-g02d1116
        Author:     Peter Hutterer <peter.hutterer@who-t.net>
        AuthorDate: Mon Jan 11 16:35:36 2010 +1000
    
        Xi: assume BadMode for non-BadMatch errors returned from SetDeviceMode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5a5370eda068e0d5271a61cee29e6c9658e242df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 17:50:15 2010 +1000

    Remove option replacement on SwitchMode call.
    
    I don't quite know why this is there but it strikes me as really really
    weird and the commit message for this code gives no indication on why it's
    necessary.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 57fdd26c39eefa1c55437e5e1a8d02c51f74d104
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 17:36:35 2010 +1000

    Purge conversion proc and reverse conversion proc.
    
    The field is still there (for ABI reasons) but the server hasn't called
    either of these two since about 1.4 or so.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4a6760f71ca1dd5cd9ab0961c7b3519573dd5de1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:54:00 2010 +1000

    Fix labelling in wcmInitialCoordinates.
    
    The axis lable describes the physical axis, not how the axis is currently
    used. Hence, the labelling for x/y on a wacom device is always for an
    absolute axis, even if the usage mode is relative.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8be906ae0509d8e2af30bcfd8398e656374d022
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:51:09 2010 +1000

    Rearrange wcmInitialCoordinates.
    
    Instead of a giant if/else block with essentially the same code, just work
    on both x/y and then just trigger for the right axis. This call isn't that
    expensive and readability trumps here.

commit 521da1f0aa93dc239012149deef235d65b440bcd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:42:54 2010 +1000

    Be more explicit about axis check in wcmInitialCoordinates.
    
    Don't treat axis as a boolean variable, treat it as a number of 0 or 1 and
    error out if it is neither.
    Also - typo fix, "axes" is plural.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ba90433d47d42f85cd135242bca9d580d270fd2c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 14:27:38 2010 +1000

    Purge unused fields from WacomModel struct.
    
    The following fields are not actually supported by any model we currently
    support, so the hooks are unused:
    Reset, EnableTilt, EnableSuppress, SetLinkSpeed
    
    since the WacomModel isn't exported ABI, we can just add it again if we ever
    need it in the future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6cb822b7f7814059dc1302791721d021d843e4c9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 14:24:00 2010 +1000

    Remove obsolete comment.
    
    wcmWait is not an XFrer86 V4 function.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 68111d0bfa5813aae34d49dc894f5abb21fa0dce
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 11:16:51 2010 +1000

    man: update man page for ButtonM option.
    
    Notes the usage of the driver-internal button mapping in more detail and
    updates the new default accommodating scroll wheels.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5780e59c43634a1458bb727fd90b63af228edfff
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 19 13:27:32 2010 +1000

    Take scroll buttons into accounts when allocating buttons.
    
    X expects buttons 4-7 to be the scrolling directions, hence if our device
    has more than 3 buttons, we need to add 4 to the actual number of buttons
    reported. If the device has 3 buttons only, use 7 anyway so we can scroll.
    
    This affects the internal default button map as well, physical buttons need
    to be offset by 4 after the first three.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 9f9333c9a14c691cd4d9db483df63c69183c577d
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Feb 23 20:55:39 2010 -0600

    remove unused wcmUserResolv* variables.
    
    Cleanup.  Variables not referenced by any real code.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 00d77e5a913f619a206930009161f0a2da846d92
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:52:53 2010 +1000

    Remove keysym.h include - already included by Xwacom.h
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0f3e76dc2c62c3befd8f49a0e7498fa9bb183f60
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:52:25 2010 +1000

    Remove unnecessary fcntl.h include.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 102d57d618195cedb9cf90157e05eb282987345f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:50:57 2010 +1000

    Move exevents.h include to the files that need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 10e98ff6f6841a35ab5a89d2bb3202320e0cb32d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:48:35 2010 +1000

    Remove misc.h include - not needed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c5c82b0fb4fdfccdc4a5e57684b9a359c9a488b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:46:35 2010 +1000

    Remove xisb.h include, use unistd.h instead.
    
    What we really need is usleep() and close(), both in unistd.h.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 49a633ea2913cf3df4c76a75760dc49224dc7818
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:45:33 2010 +1000

    Move xf86_OSproc include to the files that need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8464a563ff9733d4c9f157c110328e2022ae4027
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:42:56 2010 +1000

    Move linux/input includes to wcmUSB.c
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0bb106dd19d3efea6a2bca21569f943a60ba2599
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:34:50 2010 +1000

    Move RESET_RELATIVE into ISDV4 code.
    
    This macro isn't needed anywhere else.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 705b881397589ceae57027e1b0840d25ed44cbac
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:29:12 2010 +1000

    Remove QNX support defines.
    
    I doubt anyone has tested this driver on QNX for a while. Support for QNX
    was removed from the server in July 2008.
    (X server commit 0ff5bc404842f7264a8e77f9e2a0bd8d0b051356)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f1fb5c2037508fde409fd6f00bfaa62c4eb7cf69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:27:45 2010 +1000

    Include config.h from wcmTouchFilter.
    
    Not including config.h may lead to quite interesting effects, often on 64
    bit boxes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit d1fdc839fd1a0bbbb70c2063c2bd36f78c5bcf88
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:25:35 2010 +1000

    Declare functions once, then include the header files.
    
    Instead of declaring functions in the C file and externing them from
    wherever they are used, just declare them once in the header file.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit e6d2b3c8a7c09c4258e5d25f11bcca1c8c4d5501
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:12:40 2010 +1000

    Remove unneeded function declaration.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0815cc870bc242756b6b9743d975f3c5dcb9d7e4
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 18 10:54:28 2010 +1000

    Fix copy/paste error in license header referring to LGP instead of GPL.
    
    xf86-input-wacom (and linuxwacom) is licensed under the GPL, not the LGPL as
    the first paragraph of the license blurb states:
    
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * as published by the Free Software Foundation; either version 2
     * of the License, or (at your option) any later version.
    
    The reference to LGPL to see the details of the license was the result of a
    copy/paste error and has spread through all source files thanks to more
    copy/paste.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd2ed486b739c1b240a85394e819a93e55cd119c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 17 16:36:26 2010 +1000

    Remove unnecessary static declaration.
    
    This function is defined just three lines down, we don't need a declaration
    for it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 58c9e59b03c7e439b81bb5c05841bbb02883404f
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 14 15:14:46 2010 -0600

    centralize setting default values to single place
    
    Setting relative mode default for bamboo was delayed only
    because common->tablet_id wasn't avaliable early enough.
    Now that its value is around, move setting default values to
    single location.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2805bae9797104b641db32740b5ba41d4642d5c6
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 14 13:43:43 2010 -0600

    Find tablet_id earlier in init sequence.
    
    common->tablet_id is used in wcmInit() to decide things
    like defaulting to relative mode for bamboo P&T's but
    it is not set until after return from first call to
    wcmInit().
    
    Now query and store the tablet_id at same time that we are
    discovering its other features.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 052efcae93994eb17bbe7532c3bbbfb3443b37ab
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sat Feb 13 13:15:09 2010 +0000

    Fix typo ; -> , in xsetwacom.c
    
    The typo is in xsetwacom: .prop_offset = 10; should be .prop_offset = 10,
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 12ad08b854b631556171e7a9c1028aa51082f038
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed Feb 10 22:31:14 2010 +0000

    Add missing .prop_offset = 10 to SBottomX2 property
    
    Another one attached
    --
    Przemo
    
    From 058aa88f7b320d743f3642b8f543be6736d33192 Mon Sep 17 00:00:00 2001
[--snip--]
