Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 268660
b: refs/heads/master
c: da5969e
h: refs/heads/master
v: v3
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Oct 4, 2011
1 parent 7834fee commit 702e9ba
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 34 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 622a50dce08bd817d2f10c1bcf806ccb35643653
refs/heads/master: da5969e4cce5cbb44ca4597c7ff60bf6517ba00b
56 changes: 23 additions & 33 deletions trunk/drivers/staging/hv/hv_mouse.c
Original file line number Diff line number Diff line change
Expand Up @@ -646,56 +646,45 @@ static void mousevsc_hid_close(struct hid_device *hid)
{
}

static struct hid_ll_driver mousevsc_ll_driver = {
.open = mousevsc_hid_open,
.close = mousevsc_hid_close,
};

static struct hid_driver mousevsc_hid_driver;

static void reportdesc_callback(struct hv_device *dev, void *packet, u32 len)
{
struct hid_device *hid_dev;
struct mousevsc_dev *input_device = hv_get_drvdata(dev);

/* hid_debug = -1; */
hid_dev = kmalloc(sizeof(struct hid_device), GFP_KERNEL);
hid_dev = hid_allocate_device();
if (IS_ERR(hid_dev))
return;

hid_dev->ll_driver = &mousevsc_ll_driver;
hid_dev->driver = &mousevsc_hid_driver;

if (hid_parse_report(hid_dev, packet, len)) {
DPRINT_INFO(INPUTVSC_DRV, "Unable to call hd_parse_report");
return;
}

if (hid_dev) {
DPRINT_INFO(INPUTVSC_DRV, "hid_device created");

hid_dev->ll_driver->open = mousevsc_hid_open;
hid_dev->ll_driver->close = mousevsc_hid_close;
hid_dev->bus = BUS_VIRTUAL;
hid_dev->vendor = input_device->hid_dev_info.vendor;
hid_dev->product = input_device->hid_dev_info.product;
hid_dev->version = input_device->hid_dev_info.version;

hid_dev->bus = BUS_VIRTUAL;
hid_dev->vendor = input_device->hid_dev_info.vendor;
hid_dev->product = input_device->hid_dev_info.product;
hid_dev->version = input_device->hid_dev_info.version;
hid_dev->dev = dev->device;
sprintf(hid_dev->name, "%s", "Microsoft Vmbus HID-compliant Mouse");

sprintf(hid_dev->name, "%s",
"Microsoft Vmbus HID-compliant Mouse");
if (!hidinput_connect(hid_dev, 0)) {
hid_dev->claimed |= HID_CLAIMED_INPUT;

/*
* HJ Do we want to call it with a 0
*/
if (!hidinput_connect(hid_dev, 0)) {
hid_dev->claimed |= HID_CLAIMED_INPUT;

input_device->connected = 1;

DPRINT_INFO(INPUTVSC_DRV,
"HID device claimed by input\n");
}

if (!hid_dev->claimed) {
DPRINT_ERR(INPUTVSC_DRV,
"HID device not claimed by "
"input or hiddev\n");
}
input_device->connected = 1;

input_device->hid_device = hid_dev;
}

kfree(hid_dev);
input_device->hid_device = hid_dev;
}

static int mousevsc_on_device_add(struct hv_device *device,
Expand Down Expand Up @@ -825,6 +814,7 @@ static int mousevsc_remove(struct hv_device *dev)
if (input_dev->connected) {
hidinput_disconnect(input_dev->hid_device);
input_dev->connected = 0;
hid_destroy_device(input_dev->hid_device);
}

/*
Expand Down

0 comments on commit 702e9ba

Please sign in to comment.