Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 7988
b: refs/heads/master
c: d6450e1
h: refs/heads/master
v: v3
  • Loading branch information
Nick Sillik authored and Greg Kroah-Hartman committed Sep 8, 2005
1 parent 5eea2ca commit 268ec5f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 13 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: 0256839619d9b1e933cafc83e7f0deaad4216465
refs/heads/master: d6450e19329c85ac4888c185429094236a650928
29 changes: 17 additions & 12 deletions trunk/drivers/usb/storage/onetouch.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Copyright (c) 2005 Nick Sillik <n.sillik@temple.edu>
*
* Initial work by:
* Copyright (c) 2003 Erik Thyrén <erth7411@student.uu.se>
* Copyright (c) 2003 Erik Thyren <erth7411@student.uu.se>
*
* Based on usbmouse.c (Vojtech Pavlik) and xpad.c (Marko Friedemann)
*
Expand Down Expand Up @@ -35,6 +35,8 @@
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb_ch9.h>
#include <linux/usb_input.h>
#include "usb.h"
#include "onetouch.h"
#include "debug.h"
Expand Down Expand Up @@ -116,10 +118,14 @@ int onetouch_connect_input(struct us_data *ss)

interface = ss->pusb_intf->cur_altsetting;

if (interface->desc.bNumEndpoints != 3)
return -ENODEV;

endpoint = &interface->endpoint[2].desc;
if(!(endpoint->bEndpointAddress & 0x80))
if(!(endpoint->bEndpointAddress & USB_DIR_IN))
return -ENODEV;
if((endpoint->bmAttributes & 3) != 3)
if((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
!= USB_ENDPOINT_XFER_INT)
return -ENODEV;

pipe = usb_rcvintpipe(udev, endpoint->bEndpointAddress);
Expand All @@ -128,7 +134,8 @@ int onetouch_connect_input(struct us_data *ss)
if (!(onetouch = kcalloc(1, sizeof(struct usb_onetouch), GFP_KERNEL)))
return -ENOMEM;

onetouch->data = usb_buffer_alloc(udev, ONETOUCH_PKT_LEN, SLAB_ATOMIC, &onetouch->data_dma);
onetouch->data = usb_buffer_alloc(udev, ONETOUCH_PKT_LEN,
SLAB_ATOMIC, &onetouch->data_dma);
if (!onetouch->data){
kfree(onetouch);
return -ENOMEM;
Expand All @@ -137,7 +144,8 @@ int onetouch_connect_input(struct us_data *ss)
onetouch->irq = usb_alloc_urb(0, GFP_KERNEL);
if (!onetouch->irq){
kfree(onetouch);
usb_buffer_free(udev, ONETOUCH_PKT_LEN, onetouch->data, onetouch->data_dma);
usb_buffer_free(udev, ONETOUCH_PKT_LEN,
onetouch->data, onetouch->data_dma);
return -ENODEV;
}

Expand All @@ -152,16 +160,13 @@ int onetouch_connect_input(struct us_data *ss)
onetouch->dev.open = usb_onetouch_open;
onetouch->dev.close = usb_onetouch_close;

usb_make_path(udev, path, 64);
usb_make_path(udev, path, sizeof(path));
sprintf(onetouch->phys, "%s/input0", path);

onetouch->dev.name = onetouch->name;
onetouch->dev.phys = onetouch->phys;

onetouch->dev.id.bustype = BUS_USB;
onetouch->dev.id.vendor = le16_to_cpu(udev->descriptor.idVendor);
onetouch->dev.id.product = le16_to_cpu(udev->descriptor.idProduct);
onetouch->dev.id.version = le16_to_cpu(udev->descriptor.bcdDevice);
usb_to_input_id(udev, &onetouch->dev.id);

onetouch->dev.dev = &udev->dev;

Expand Down Expand Up @@ -199,7 +204,7 @@ void onetouch_release_input(void *onetouch_)
usb_free_urb(onetouch->irq);
usb_buffer_free(onetouch->udev, ONETOUCH_PKT_LEN,
onetouch->data, onetouch->data_dma);
printk(KERN_INFO "Maxtor Onetouch %04x:%04x Deregistered\n",
onetouch->dev.id.vendor, onetouch->dev.id.product);
printk(KERN_INFO "usb-input: deregistering %s\n",
onetouch->dev.name);
}
}

0 comments on commit 268ec5f

Please sign in to comment.