Skip to content

Commit

Permalink
Input: wacom - register the input devices on top of the HID one
Browse files Browse the repository at this point in the history
Matches the current behavior of the HID subsystem and removes one more
dependency over USB.

The current user space clients which relies on this to fetch the
LEDs path need an update. However, we already break them in the
kernel v3.11 for the Bluetooth Wacom devices. They are going to be fixed
soon.

Signed-off-by: Benjamin Tissoires <[email protected]>
Reviewed-by: Jason Gerecke <[email protected]>
Tested-by: Jason Gerecke <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
  • Loading branch information
bentiss authored and dtor committed Jul 26, 2014
1 parent c31a408 commit b6c79f2
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
1 change: 0 additions & 1 deletion drivers/input/tablet/wacom.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ struct wacom {
struct hid_device *hdev;
struct mutex lock;
struct work_struct work;
char phys[32];
struct wacom_led {
u8 select[2]; /* status led selector (0..3) */
u8 llv; /* status led brightness no button (1..127) */
Expand Down
15 changes: 8 additions & 7 deletions drivers/input/tablet/wacom_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -986,20 +986,23 @@ static void wacom_destroy_battery(struct wacom *wacom)
static struct input_dev *wacom_allocate_input(struct wacom *wacom)
{
struct input_dev *input_dev;
struct usb_interface *intf = wacom->intf;
struct usb_device *dev = interface_to_usbdev(intf);
struct hid_device *hdev = wacom->hdev;
struct wacom_wac *wacom_wac = &(wacom->wacom_wac);

input_dev = input_allocate_device();
if (!input_dev)
return NULL;

input_dev->name = wacom_wac->name;
input_dev->phys = wacom->phys;
input_dev->dev.parent = &intf->dev;
input_dev->phys = hdev->phys;
input_dev->dev.parent = &hdev->dev;
input_dev->open = wacom_open;
input_dev->close = wacom_close;
usb_to_input_id(dev, &input_dev->id);
input_dev->uniq = hdev->uniq;
input_dev->id.bustype = hdev->bus;
input_dev->id.vendor = hdev->vendor;
input_dev->id.product = hdev->product;
input_dev->id.version = hdev->version;
input_set_drvdata(input_dev, wacom);

return input_dev;
Expand Down Expand Up @@ -1266,8 +1269,6 @@ static int wacom_probe(struct hid_device *hdev,
wacom->intf = intf;
mutex_init(&wacom->lock);
INIT_WORK(&wacom->work, wacom_wireless_work);
usb_make_path(dev, wacom->phys, sizeof(wacom->phys));
strlcat(wacom->phys, "/input0", sizeof(wacom->phys));

/* set the default size in case we do not get them from hid */
wacom_set_default_phy(features);
Expand Down

0 comments on commit b6c79f2

Please sign in to comment.