Merge branch 'for-linus' of git://github.com/dtor/input
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Sep 2011 21:09:19 +0000 (14:09 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Sep 2011 21:09:19 +0000 (14:09 -0700)
* 'for-linus' of git://github.com/dtor/input:
  Input: wacom - fix touch parsing on newer Bamboos
  Input: bcm5974 - add MacBookAir4,1 trackpad support
  Input: wacom - add POINTER and DIRECT device properties
  Input: adp5588-keys - remove incorrect modalias
  Input: cm109 - fix checking return value of usb_control_msg
  Input: wacom - advertise BTN_TOOL_PEN and BTN_STYLUS for PenPartner
  Input: wacom - remove pressure for touch devices

1  2 
drivers/hid/hid-wacom.c

diff --combined drivers/hid/hid-wacom.c
index a597039d0755bd88d506f620287dcaa00b921519,5b9267dd3d6609bbd4f6677fd9d1c93bdcbbc6df..72ca689b64741c3cbb41d6041ce44d411534dd5d
@@@ -353,7 -353,11 +353,7 @@@ static int wacom_probe(struct hid_devic
        if (ret) {
                hid_warn(hdev, "can't create sysfs battery attribute, err: %d\n",
                         ret);
 -              /*
 -               * battery attribute is not critical for the tablet, but if it
 -               * failed then there is no need to create ac attribute
 -               */
 -              goto move_on;
 +              goto err_battery;
        }
  
        wdata->ac.properties = wacom_ac_props;
        if (ret) {
                hid_warn(hdev,
                         "can't create ac battery attribute, err: %d\n", ret);
 -              /*
 -               * ac attribute is not critical for the tablet, but if it
 -               * failed then we don't want to battery attribute to exist
 -               */
 -              power_supply_unregister(&wdata->battery);
 +              goto err_ac;
        }
 -
 -move_on:
  #endif
        hidinput = list_entry(hdev->inputs.next, struct hid_input, list);
        input = hidinput->input;
  
+       __set_bit(INPUT_PROP_POINTER, input->propbit);
        /* Basics */
        input->evbit[0] |= BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_REL);
  
  
        return 0;
  
 +#ifdef CONFIG_HID_WACOM_POWER_SUPPLY
 +err_ac:
 +      power_supply_unregister(&wdata->battery);
 +err_battery:
 +      device_remove_file(&hdev->dev, &dev_attr_speed);
 +      hid_hw_stop(hdev);
 +#endif
  err_free:
        kfree(wdata);
        return ret;
@@@ -423,7 -428,6 +425,7 @@@ static void wacom_remove(struct hid_dev
  #ifdef CONFIG_HID_WACOM_POWER_SUPPLY
        struct wacom_data *wdata = hid_get_drvdata(hdev);
  #endif
 +      device_remove_file(&hdev->dev, &dev_attr_speed);
        hid_hw_stop(hdev);
  
  #ifdef CONFIG_HID_WACOM_POWER_SUPPLY