|
@@ -740,6 +740,11 @@ static int wacom_add_shared_data(struct hid_device *hdev)
|
|
|
return retval;
|
|
|
}
|
|
|
|
|
|
+ if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
|
|
|
+ wacom_wac->shared->touch = hdev;
|
|
|
+ else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN)
|
|
|
+ wacom_wac->shared->pen = hdev;
|
|
|
+
|
|
|
out:
|
|
|
mutex_unlock(&wacom_udev_list_lock);
|
|
|
return retval;
|
|
@@ -2036,10 +2041,6 @@ static int wacom_parse_and_register(struct wacom *wacom, bool wireless)
|
|
|
if (error)
|
|
|
goto fail;
|
|
|
|
|
|
- error = wacom_add_shared_data(hdev);
|
|
|
- if (error)
|
|
|
- goto fail;
|
|
|
-
|
|
|
/*
|
|
|
* Bamboo Pad has a generic hid handling for the Pen, and we switch it
|
|
|
* into debug mode for the touch part.
|
|
@@ -2080,10 +2081,9 @@ static int wacom_parse_and_register(struct wacom *wacom, bool wireless)
|
|
|
|
|
|
wacom_update_name(wacom, wireless ? " (WL)" : "");
|
|
|
|
|
|
- if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
|
|
|
- wacom_wac->shared->touch = hdev;
|
|
|
- else if (wacom_wac->features.device_type & WACOM_DEVICETYPE_PEN)
|
|
|
- wacom_wac->shared->pen = hdev;
|
|
|
+ error = wacom_add_shared_data(hdev);
|
|
|
+ if (error)
|
|
|
+ goto fail;
|
|
|
|
|
|
if (!(features->device_type & WACOM_DEVICETYPE_WL_MONITOR) &&
|
|
|
(features->quirks & WACOM_QUIRK_BATTERY)) {
|